× Aktuálně z oboru

Programátoři po celém světě dnes slaví Den programátorů [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]
Celá zprávička [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]

Ikony v menu

[ http://programujte.com/profil/27-jiri-chytil/ ]Google [ ?rel=author ]       [ http://programujte.com/profil/118-zdenek-lehocky/ ]Google [ ?rel=author ]       10. 9. 2005       10 369×

Některé aplikace mají menu. Nemyslím popup menu, ale menu pod titulkem okna, třeba soubor, úpravy, okno atd. Ale u propracovanějších aplikací není menu úplně čistě textové, mají tam ikonky a my si v tomto díle seriálu povíme, jak je tam přidat.

Deklarujete si funkce a pak už stačí pár řádků kódu.


Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function SetMenuItemBitmaps Lib "user32" (ByVal hMenu As Long, _
                                                          ByVal nPosition As Long, _
                                                          ByVal wFlags As Long, _
                                                          ByVal hBitmapUnchecked As Long, _
                                                          ByVal hBitmapChecked As Long) As Long
Private Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, _
                                                  ByVal nPos As Long) As Long

Private Sub Command1_Click()
    handleMenu = GetMenu(Form1.hwnd) 'Získám manipulátor menu
    handleSubMenu = GetSubMenu(handleMenu, 0) 'ze získám manipulátor submenu z manipulátoru menu a indexu menu
    Call SetMenuItemBitmaps(handleSubMenu, 0, &H400, Picture1.Picture, Picture1.Picture) 'zde vykreslím obrázek...
    'z Picture1 do první položky prvního submenu. Nula zde určuje index.
End Sub

To je snad vše, komentáře tam jsou. Ikony jsou myslím 16×16. a kód si upravte podle svých potřeb, tohle je jen ukázka.


Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2005092301-ikony-v-menu/ ].