Connecting Tech Pros Worldwide Forums | Help | Site Map

Adding Bitmap to Menu.

debasisdas's Avatar
Moderator
 
Join Date: Dec 2006
Location: Bangalore ,India
Posts: 7,508
#1   Oct 17 '07
Add a menu item and a sub-menu to the main menu to the form.
Add a picture box to the form and set its visible property to False.

Add the following code to a general module (.BAS).(API Functions)
=================================================
Expand|Select|Wrap|Line Numbers
  1. Public Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
  2. Public Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
  3. Public Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
  4. Public Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
  5. Public Declare Function ModifyMenu Lib "user32" Alias "ModifyMenuA" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpString As Any) As Long
  6. Public Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
  7. Public Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
  8.  
Add this code to the form load event.
==============================
Expand|Select|Wrap|Line Numbers
  1. Picture1.Picture = LoadPicture(app.path & "\" & "CUT.BMP")
  2. Dim D As Long, DU as Long
  3. Dim H As Long
  4. D = CreateCompatibleDC(Picture1.hdc)
  5. H = CreateCompatibleBitmap(Picture1.hdc, 16, 16)
  6.  
  7. Dim P As Long
  8. P = SelectObject(D, H)
  9. DU = BitBlt(D, 0, 0, 16, 16, Picture1.hdc, 0, 0, &HCC0020)
  10. DU = SelectObject(D, P)
  11. D = ModifyMenu(GetSubMenu(GetMenu(Me.hwnd), 0), 0, &H404, 0, H)
  12.  



Reply