icons on menu bar

Just starting out? Need help? Post your questions and find answers here.
User avatar
jqn
User
User
Posts: 97
Joined: Fri Oct 31, 2003 3:04 pm

icons on menu bar

Post by jqn »

Hi,
Somebody know how to add an icon at right place of menu bar?.

I'm seeing it in my FIREFOX (visit Mozilla web). it and also in IE (only a Windows flag, without connection).

Alright, these are not written in PB... but this tip is possible.

Regards
Konne
Enthusiast
Enthusiast
Posts: 434
Joined: Thu May 12, 2005 9:15 pm

Post by Konne »

SetMenuItemBitmaps_(MenuID(Menu),Item,#MF_BYCOMMAND,ImageId Normal,ImageID Checked)
Apart from that Mrs Lincoln, how was the show?
User avatar
netmaestro
PureBasic Bullfrog
PureBasic Bullfrog
Posts: 8451
Joined: Wed Jul 06, 2005 5:42 am
Location: Fort Nelson, BC, Canada

Post by netmaestro »

Here's a working example. It is the PureBasic Menu commands sample code provided by Fantaisie Software in the examples folder with one added item on the main menu: Advanced View. This item employs a bitmap which changes based on the checked/unchecked status of the item.

Code: Select all

; PicPak Generated Code
;
*unpacked = AllocateMemory(920)
UnpackMemory(?PicPak, *unpacked)
img0 = CatchImage(#PB_Any, *unpacked, 920)
;
; End of PicPak Generated Code

Normal = GrabImage(img0, #PB_Any,12,0,12,12)
Checked = GrabImage(img0, #PB_Any,0,0,12,12)

;
; ------------------------------------------------------------
;
;   PureBasic - Menu example file
;
;    (c) 2003 - Fantaisie Software
;
; ------------------------------------------------------------
;
; We just have to open a window and see when an event happen on the menu
;

If OpenWindow(0, 100, 150, 195, 260, "PureBasic - Menu")

  ;
  ; Create the menu. The indent is very important here for a good lisibility
  ;

  If CreateMenu(0, WindowID(0))
    MenuTitle("File")
      MenuItem( 1, "&Load...")
      MenuItem( 2, "Save")
      MenuItem( 3, "Save As...")
      MenuItem( 4, "Advanced View")
      MenuBar()
      OpenSubMenu("Recents")
        MenuItem( 5, "C:\Autoexec.bat")
        MenuItem( 6, "D:\Test.txt")
        OpenSubMenu("Even more !")
          MenuItem( 12, "Test")
        CloseSubMenu()
        MenuItem( 13, "C:\Ok.bat")
      CloseSubMenu()
      MenuBar()
      MenuItem( 7, "&Quit")

    MenuTitle("Edition")
      MenuItem( 8, "Cut")
      MenuItem( 9, "Copy")
      MenuItem(10, "Paste")
      
    MenuTitle("?")
      MenuItem(11, "About")

  EndIf
  
  DisableMenuItem(0, 3, 1)
  DisableMenuItem(0, 13, 1)
  
  SetMenuItemBitmaps_(MenuID(0),4,#MF_BYCOMMAND,ImageID(Normal),ImageID(Checked))
  
  ;
  ; This is the 'event loop'. All the user actions are processed here.
  ; It's very easy to understand: when an action occurs, the EventID
  ; isn't 0 and we just have to see what have happened...
  ;
  
  Repeat

    Select WaitWindowEvent()

      Case #PB_Event_Menu

        Select EventMenu()  ; To see which menu has been selected
          Case 4 
            If GetMenuItemState(0, 4)
              SetMenuItemState(0,4,0)
            Else
              SetMenuItemState(0,4,1)
            EndIf

          Case 11 ; About
            MessageRequester("About", "Cool Menu example", 0)
            
          Default
            MessageRequester("Info", "MenuItem: "+Str(EventMenu()), 0)

        EndSelect

      Case #PB_Event_CloseWindow
        Quit = 1

    EndSelect

  Until Quit = 1

EndIf

End  

; PicPak Generated Code

DataSection
  PicPak:
  Data.b $4A,$43,$98,$03,$00,$00,$17,$ED,$AB,$77,$B9,$A9,$D0,$20,$69,$14,$19,$88,$12,$CA
  Data.b $08,$B0,$4A,$0C,$25,$8C,$09,$60,$05,$02,$94,$18,$08,$62,$01,$06,$81,$2D,$FA,$2F
  Data.b $F1,$4F,$E2,$67,$5C,$56,$F8,$FA,$81,$E5,$68,$B3,$3F,$BB,$F2,$F7,$6E,$DE,$D7,$FB
  Data.b $8F,$F7,$31,$50,$5F,$EF,$73,$01,$10,$62,$57,$86,$7E,$1C,$FA,$F9,$C4,$79,$6B,$78
  Data.b $30,$89,$F1,$CC,$EF,$DD,$D7,$ED,$18,$BA,$CA,$89,$31,$0D,$47,$F6,$CB,$EE,$5C,$89
  Data.b $F9,$11,$77,$AC,$B7,$3E,$FC,$9F,$05,$DB,$23,$94,$4E,$46,$B3,$55,$FD,$87,$53,$48
  Data.b $96,$1F,$C2,$F4,$DE,$19,$96,$C9,$1D,$B9,$E2,$A0,$8D,$D7,$FE,$3C,$F6,$72,$D3,$8B
  Data.b $47,$AD,$18,$BC,$72,$81,$D3,$94,$5D,$63,$C7,$FD,$C2,$1B,$3F,$D8,$BF,$7A,$07,$1E
  Data.b $D1,$68,$29,$CF,$29,$F2,$8C,$9A,$F1,$13,$9D,$B8,$FF,$75,$DD,$34,$ED,$AF,$3F,$37
  Data.b $BD,$78,$F2,$73,$DA,$77,$EF,$35,$3C,$35,$84,$C5,$70,$34,$9F,$41,$AB,$E1,$E4,$BD
  Data.b $E3,$C6,$2F,$5D,$36,$4D,$FD,$B3,$C3,$E4,$42,$0F,$7B,$93,$40,$23,$85,$BC,$49,$02
  Data.b $2E,$19,$AF,$FB,$63,$67,$DD,$42,$32,$E2,$2C,$BF,$5F,$3F,$6A,$79,$EB,$4F,$15,$21
  Data.b $8E,$42,$20,$EC,$9F,$D2,$BF,$7D,$64,$12,$CA,$87,$7F,$3E,$F3,$7A,$80,$61,$B6,$40
  Data.b $FD,$A7,$A8,$2E,$C8,$1F,$EC,$37,$1C,$A1,$E3,$DA,$60,$03,$ED,$85,$12,$50,$12,$B3
  Data.b $FF,$D8,$77,$EB,$9F,$29,$6C,$FF,$7D,$A7,$8F,$50,$B8,$8F,$94,$47,$C6,$27,$DD,$7F
  Data.b $4E,$52,$B3,$FA,$EE,$3B,$6B,$0D,$C8,$CD,$4F,$6D,$99,$10,$50,$73,$03,$E6,$45,$88
  Data.b $C5,$44,$DF,$27,$06,$60,$5C,$02,$0E,$60,$FE,$5A,$1E,$20,$25,$AB,$AC,$F8,$76,$AF
  Data.b $5E,$DB,$47,$2A,$BF,$1D,$AD,$23,$E4,$9D,$F1,$CD,$11,$E8,$04,$8A,$33,$80,$DC,$12
  Data.b $71,$C2,$F9,$27,$B6,$73,$FD,$B6,$35,$83,$1A,$5C,$11,$11,$1A,$C9,$9F,$16,$0D,$8D
  Data.b $DC,$67,$58,$06,$50,$0A,$0C,$FC,$C2,$40,$3B,$55,$E0,$18,$E2,$1A,$D2,$9B,$DD,$30
  Data.b $3C,$F8,$48,$36,$4C,$F7,$74,$04,$7B,$EE,$FE,$39,$B2,$BC,$E2,$19,$1D,$39,$E3,$48
  Data.b $30,$3B,$FC,$F3,$C8,$77,$DD,$B1,$2D,$F1,$84,$A3,$33,$C7,$B9,$A6,$7E,$D9,$18,$7C
  Data.b $91,$D2,$33,$C0,$5D,$96,$E8,$81,$FB,$4B,$7B,$8D,$90,$FF,$E9,$8F,$9B,$70,$37,$EA
  Data.b $9F,$1C,$D0,$37,$29,$97,$D2,$7A,$F1,$FE,$8A,$CF,$EE,$FA,$2C,$29,$D5,$BD,$1C,$22
  Data.b $76,$E3,$B5,$83,$B4,$1E,$4A,$F6,$8D,$EB,$9B,$54,$DB,$4B,$8E,$13,$FE,$F8,$D1,$A1
  Data.b $7E,$87,$F9,$EB,$66,$29,$DB,$4E,$7D,$35,$E7,$A7,$E7,$5B,$FF,$F4,$DE,$FE,$25,$9C
  Data.b $46,$94,$A3,$53,$F3,$FE,$E7,$4E,$FA,$BF,$FF,$E8,$BF,$F7,$AA,$23,$7F,$3D,$FC,$F8
  Data.b $69,$10,$35,$CA,$FA,$FE,$4C,$28,$55,$99,$67,$EE,$E8,$67,$DF,$39,$53,$F8,$5E,$3D
  Data.b $77,$F3,$CA,$23,$C9,$EF,$26,$C0,$68,$58,$8C,$FC,$97,$A7,$79,$47,$CA,$70,$14,$2F
  Data.b $DD,$BF,$F9,$B7,$0A,$BB,$D8,$52,$56,$93,$5E,$2D,$FB,$F3,$D5,$D7,$7D,$6F,$F4,$AC
  Data.b $50,$F4,$3A,$81,$C2,$B0,$FD,$02,$60,$C0,$58,$24,$CB,$D4,$25,$31,$A5,$62,$CC,$BF
  Data.b $C4,$3E,$B7,$00,$F3,$36,$8B,$4E,$F8,$F7,$F9,$D3,$EB,$C5,$B2,$3F,$83,$1D,$C6,$AC
  Data.b $90,$4C,$FC,$91,$C7,$06,$6C,$BF,$70,$D8,$A9,$00,$E3,$31,$B8,$FA,$F1,$C7,$84,$39
  Data.b $0F,$DE,$00,$10,$89,$F0
  PicPakend:
EndDataSection
BERESHEIT
Post Reply