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
icons on menu bar
- netmaestro
- PureBasic Bullfrog
- Posts: 8451
- Joined: Wed Jul 06, 2005 5:42 am
- Location: Fort Nelson, BC, Canada
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