Описание функции
AddIconToButton
Иконка на кнопке слева от текста
AddIconToButton(ButtonID, IconID [, s = 16])
Параметры
ButtonID | Дескриптор кнопки |
IconID |
Дескриптор иконки |
s |
Размер иконки |
Пример
EnableExplicit
; для значка кнопки
#Lib = 0
InitCommonControls_() ; инициализация классов элементов управления
If OpenLibrary(#Lib, "comctl32.dll")
Prototype ImageList_AddIcon(List, Icon)
Global ImageList_AddIcon.ImageList_AddIcon
ImageList_AddIcon = GetFunction(#Lib, "ImageList_AddIcon")
CloseLibrary(#Lib)
EndIf
; #BCM_FIRST = $1600
; #BCM_SETIMAGELIST = #BCM_FIRST + 2
; #BUTTON_IMAGELIST_ALIGN_LEFT = 0
; конец для значка кнопки
Procedure AddIconToButton(ButtonID, IconID, s = 16)
Protected buttonImgList.BUTTON_IMAGELIST
Protected himlIcons
himlIcons = ImageList_Create_(s, s, #ILC_MASK | #ILC_COLOR32, 1, 0)
ImageList_AddIcon(himlIcons, IconID)
With buttonImgList
\uAlign = #BUTTON_IMAGELIST_ALIGN_LEFT ; #BUTTON_IMAGELIST_ALIGN_RIGHT
\margin\top = 3
\margin\bottom = 3
\margin\left = 3
\margin\right = 3
\himl = himlIcons
EndWith
SendMessage_(ButtonID, #BCM_SETIMAGELIST, 0, buttonImgList)
EndProcedure
Define hIcon
If OpenWindow(0, 0, 0, 220, 100, "Пример...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ButtonGadget (1, 10, 60, 200, 30, "Закрыть")
If ExtractIconEx_("Shell32.dll", 131, 0, @hIcon, 1)
AddIconToButton(GadgetID(1), hIcon)
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case 1
CloseWindow(0)
End
EndSelect
Case #PB_Event_CloseWindow
CloseWindow(0)
End
EndSelect
ForEver
EndIf