Вверх ↑
Разработчик
Ответов: 26066
Рейтинг: 2120
#1: 2022-01-09 03:37:10 ЛС | профиль | цитата
Я добавил на форму метод получения его текущей иконки. Обновление на SVN.
Вот пример возможности читать иконки разных форм внутри приложения на HiAsm-е после обновления:
Пример

Add(MainForm,2953706,602,168)
{
Icon=[ZIPBE10000078DAED57310AC3300CBCEE1932958E193C74EC133AFA317E449E9067E497AE843DA4450E2A82D883142E884BAC03F9B01170A36759C06FEC337007F0241085370ACFB1CE68C54408845705E78F0BB8A9EA739E085B05E7F1022E14F99CBF812DFF849593346A1F46D44F420D1327699CF43F0A354C9CA4513DD9DD7FDAFDB2ECB5FC5FD9FF01F593C593DAB527FD8F164F6AD78EEC3FFD1962F149DB7F9DF5FF38C32C3E6DFB4F7F86597CEAFE73FFB9FFFCFEF5FBD7E70F9F3F0EDF8250C3C4491A87F9B75BAC1DC1BDF9007AA728F3]
Point(doGetIcon)
Point(onGetIcon)
link(onCreate,2953706:doGetIcon,[(641,188)(641,216)(592,216)(592,202)])
link(onGetIcon,7910794:doEvent1,[])
}
Add(Icon,6856602,693,175)
{
Point(onBitmap)
Point(doLoadIcon)
Point(doBitmap)
link(onBitmap,13948443:doLoad,[])
}
Add(Image,13948443,742,175)
{
Left=135
Top=25
Width=128
Height=128
}
Add(ChildFormEx,12566875,602,224)
{
}
BEGIN_SDK
Add(EditMultiEx,9804552,21,21)
{
}
Add(MainForm,176861,70,77)
{
Left=35
Top=105
Icon=[ZIP7E03000078DA63606004420101062029C190C1CCC020C6C0C0A001C44021060506883808383033D01DEC5E3A2DD9D31482D27C2DE06C5C08A8FEC6F68547E7366EEACE07324E2EEFDFD65B882C02615C5AD9B36F463550FD81D573FEFFFB07448766D5FEFDF5E3EF8FAF40C6EF4F6F7E7F7CB57F5AE5AF97777FBF7A0014F9F5E0FC95BDEB90D59F5FDAFEFFCFEF7F3F7F9C5DDCFAF7CB7BA07A2003A818A805C8F8F9F0125CFDD5F5D38026002D058A03CD8433381D5EB39A5E062226ED1D1011A0FA139B9740CC0772E10CA0C3FE7DFFA21EF9054802ED026AF9F5ECF685435B91D5034D4030FEFC066AF1AFF80672E1F72F40F54087C1D5E3724FE1E4DF402D405B800E038A00D5E0720F9AC3800C60883DB871091841D8DD83EA3068887D7A0334FFD5AA6E207AB9BCFDC592A6E70B6A9FCD2C01A2A793B39EF4253FE98C79DC1CFCA8D6FB61A5EB8352FB3B45D6E7B2AD808AFFBE79F8FFF50320FAF7F21E10FD7D7EFBC79A5620FAB6B41A197D9D5708518F69F8BD9ED45B2D514074B5DC0B82802A2188D4F4F91F0A402C5231080000FFD6D18E]
Point(onGetIcon)
Point(doGetIcon)
link(onCreate,176861:doGetIcon,[(109,97)(109,69)(60,69)(60,111)])
link(onGetIcon,10721551:doEvent1,[])
}
Add(Icon,12125612,168,84)
{
Point(onBitmap)
Point(doLoadIcon)
Point(doBitmap)
link(onBitmap,16108708:doLoad,[])
}
Add(Image,16108708,217,84)
{
Left=135
Top=25
Width=128
Height=128
}
Add(Hub,10721551,133,98)
{
link(onEvent1,12125612:doLoadIcon,[])
link(onEvent2,12125612:doBitmap,[])
}
END_SDK
Add(Hub,7910794,658,189)
{
link(onEvent1,6856602:doLoadIcon,[])
link(onEvent2,6856602:doBitmap,[])
}


--- Добавлено в 2022-01-09 04:32:01

Я разобрался, почему WinInfo не отображает иконки приложений HiAsm. Для нормального отображения иконок в WinInfo необходимо классу формы присвоить иконку методом API -- SetClassLong(Ptr) (любое присвоение иконки этим методом хэндлу окна любой формы, присвоит иконку всему классу формы), но у нас это нигде не делается, и если делать, то только для главной формы. Вот поэтому WinInfo не подходит для извлечения иконки из приложений HiAsm, и не только для них, но и для многих других.
карма: 22

0
Редактировалось 9 раз(а), последний 2022-01-09 04:54:08