/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
[VB6] Bitmap i menus IGEN IGEN
Fra : Johnny E Jensen


Dato : 06-05-03 09:52

Hej NG

Jeg har fundet ud af noget.. Hvis jeg placerer en Command på Formen og
ligger sourcen (Form_Load) ind her - når formen vises på min MDIForm kan jeg
klikke på command og så virker det. Altså windows kan ikke fortælle mig
menuens handle førend formen er tegnet og formens menuer er nedarvet til
MDIFormen. Jeg ved at når en Form 'tegnes' er Form_Paint den sidste Sub der
kaldes. Men det er stadig på et for tidligt tidspunkt at placere sourcen for
'tegning' af bitmaps i menuerne.

Er der ingen der kan hjælpe?????????

Mvh - Johnny


Nedenstående blev postet tidligere:::::::

Jeg fandt engang for længe siden følgene eks. ude på 'nettet':

Option Explicit

Public Const MF_BITMAP = &H4&
Public Const MIIM_ID = &H2
Public Const MIIM_TYPE = &H10
Public Const MFT_STRING = &H0&

Public Type MENUITEMINFO
cbSize As Long
fMask As Long
fType As Long
fState As Long
wID As Long
hSubmenu As Long
hbmpChecked As Long
hbmpUnchecked As Long
dwItemData As Long
dwTypeData As String
cch As Long
End Type

Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Declare Function GetMenuItemInfo Lib "user32" Alias "GetMenuItemInfoA"
(ByVal hMenu As Long, ByVal un As Long, ByVal b As Boolean, lpMenuItemInfo
As MENUITEMINFO) As Boolean
Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As
Long) As Long
Declare Function GetMenuItemID 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

Private Sub Form_Load()
On Error GoTo err
Dim hMenu As Long, hSubmenu As Long
Dim hID As Long

Me.Hide

'Get the menuhandle of your app
hMenu = GetMenu(Me.hwnd)

'Get the handle of the first submenu (Hello)
hSubmenu = GetSubMenu(hMenu, 0)

'Get the menuId of the first entry (Bitmap)
hID = GetMenuItemID(hSubmenu, 0)

'Add the bitmap
'You can add two bitmaps to a menuentry
'One for the checked and one for the unchecked
'state.
SetMenuItemBitmaps hMenu, hID, MF_BITMAP, Me.Picture1.Picture,
Me.Picture2.Picture
End Sub

Dette placerer et bitmap oppe på menuen. - Når jeg kører dette i eksemplet
kører det fint, variablerne
hMenu, hSubmenu og hID fpr alle værdier > 0.

I min applikation som bla. består af MDIForm og så en MDIChild form. Menu er
lavet på Childformen. Jeg har forsøgt at bruge hMenu =
GetMenu(MDIChild.hwnd) og også hMenu = GetMenu(MDIForm.hwnd) i begge
tilfælde for hMenu > 0 MEN i begge tilfælde bliver hSubmenu =
GetSubMenu(hMenu, 0) = 0 - hvilket så resulterer i at hID = -1, og jeg får
ikke sat bitmap billedet.
Jeg er sikker på at problemet ligger i at jeg benytter kombinationen
MDIChild / MDIForm

Er der noget der har en løsning.

/Johnny


__________________________________________________________________ Johnny
Jensen IT Manager ICQ#: 179719734 Current ICQ status: ( Home Tel#: +45
46369401 ( Work Tel#: +45 22293296 + More ways to contact me
__________________________________________________________________



 
 
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste