|
Dodawanie ikon do menu.(przysłał SPECtrum) |
|
|
|
Napisał Administrator
|
|
sobota, 21 styczeń 2006 |
'Ta jest najfajniejsza. Dodaje ikonę do dowolnej pozycji w menu programu.
'Musisz stworzyć tyle PictureBox'ów, ile chcesz umieścić ikon w menu.
'Każdej ikonie przyporządkowany jest jeden PictureBox. Jedyną wadą tej
'funkcji jest to, że nieco zmienia się paleta kolorów. Np. Z TAKIEGO
'CZERWONEGO W TAKI Trochę mnie to wnerwiło, bo zrobiłem sobie masę ikon
'specjalnie do tego celu i nagle patrzę... są inne kolory. No dobra, Dosyć
'paplania. Do rzeczy... Użycie: DodajBmpDoMenu frmMojaForma, 0, 0,
'picIkona1 UWAGA!!! TA FUNKCJA NIE DOPASOWUJE ROZMIARU IKON DO MENU.
'WYŚWIETLA TYLKO 13x13 PIERWSZYCH PIXELI.
Declare Function GetMenu Lib "user32" (ByVal hWnd As Long) As Long
Declare Function GetMenuItemID Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
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
Public Const MF_BYCOMMAND = &H0&
Public Const MF_BYPOSITION = &H400&
'formName - nazwa formy
'pozycjaMenu - pozycja menu głównego (pod paskiem tytułowym)
'-pozycjaSubMenu - pozycja w konkretnym menu (w pozycjaMenu)
'-pictureName - PictureBox z bitmapą lub ikoną
Function DodajBmpDoMenu(formName As Form, pozycjaMenu As Integer, pozycjaSubMenu As Integer, pictureName As PictureBox)
Dim hMenu As Long, hSubMenu As Long, lngID As Long
Dim X As Long
'Uchwyt menu głównego
hMenu = GetMenu(formName.hWnd)
'Uchwyt podmenu
hSubMenu = GetSubMenu(hMenu, pozycjaMenu)
'Przepisanie bitmapy
pictureName.picture = pictureName.Image
'Pozycja podmenu do zmiany
lngID = GetMenuItemID(hSubMenu, pozycjaSubMenu)
'Ustawienie bitmapy
X = SetMenuItemBitmaps(hMenu, lngID, MF_BYCOMMAND, CLng(pictureName.picture), CLng(pictureName.picture))
End Function
Aby dodać komentarz zaloguj się. Jeśli nie masz konta, załóż je sobie. Tylko zarejestrowani użytkownicy mogą pisać komentarze. Powered by AkoComment 2.0! |