ToolBar - PanelGadget fun

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

ToolBar - PanelGadget fun

Message par kernadec »

bonjour
pour le fun voilà un essai de barres d'outils
avec une procédure de STARGÅTE pour insérer des images icônes bien sympa

Cordialement

Code : Tout sélectionner

Enumeration 
  #Win1 
  #TToolbouton1
  #TToolbouton2
  #TToolbouton3
  #TToolbouton4
  #TToolbouton5
  #TToolbouton6
  #TToolbouton7
  #TToolbouton8
  #TToolbouton9
  #TToolbouton10
  #TToolbouton11
  #TToolbouton12
  #TToolbouton13
  #TToolbouton14
  #TToolbouton15
  #TToolbouton16
  #TContainer1
  #TContainer1b
  #TContainer2
  #TContainer2b
  #TContainer3
  #TContainer3b
  #TContainer4
  #TContainer4b
  #TContainer5
  #TContainer5b
  #TContainer6
  #TContainer6b
  #TContainer7
  #TContainer7b
  #TContainer8
  #TContainer8b
  #TContainer9
  #TContainer9b
  #TContainer10
  #TContainer10b
  #TContainer11
  #TContainer11b
  #TContainer12
  #TContainer12b
  #TContainer13
  #TContainer13b
  #TContainer14
  #TContainer14b
  #TContainer15
  #TContainer15b
  #TContainer16
  #TContainer16b
  #TToolBar1
  #TToolBar2
  #TToolBar3
  #TToolBar4
  #TToolBar5
  #TToolBar6
  #TToolBar7
  #TToolBar8
  #TToolBar9
  #TToolBar10
  #TToolBar11
  #TToolBar12
  #TToolBar13
  #TToolBar14
  #TToolBar15
  #TToolBar16
EndEnumeration 

Procedure Toolicon(Gadget01,Gadget02,Gadget03,Gadget04,x,y,l,h,color,icon)
  ContainerGadget(Gadget01, x,y,l,h,#PB_Container_BorderLess)
  CloseGadgetList()
  SetGadgetColor(Gadget01,#PB_Gadget_BackColor, color)
  DisableGadget(Gadget01, 1)
  ContainerGadget(Gadget02, x+2,y+2,l-5,h-5,#PB_Container_BorderLess) 
  CloseGadgetList()
  CreateToolBar(Gadget03, GadgetID(Gadget02))
  ToolBarStandardButton(Gadget04,icon)
EndProcedure

OpenWindow( #Win1, 500, 360, 53, 210, "Outils ",#PB_Window_SystemMenu|#PB_Window_Tool)
;tool 01	
Toolicon(#TContainer1 ,#TContainer1b ,#TToolBar1 ,#TToolbouton1 , 0,   0,28,28,RGB(0,0,250),#PB_ToolBarIcon_New)
;tool 02	
Toolicon(#TContainer2 ,#TContainer2b ,#TToolBar2 ,#TToolbouton2 ,26,   0,28,28,RGB(0,0,250),#PB_ToolBarIcon_Open)
;tool 03
Toolicon(#TContainer3 ,#TContainer3b ,#TToolBar3 ,#TToolbouton3 , 0,  26,28,28,RGB(0,0,250),#PB_ToolBarIcon_Save)
;tool 04	
Toolicon(#TContainer4 ,#TContainer4b ,#TToolBar4 ,#TToolbouton4 ,26,  26,28,28,RGB(0,0,250),#PB_ToolBarIcon_Print)
;tool 05	
Toolicon(#TContainer5 ,#TContainer5b ,#TToolBar5 ,#TToolbouton5 , 0,2*26,28,28,RGB(0,0,250),#PB_ToolBarIcon_PrintPreview )
;tool 06	
Toolicon(#TContainer6 ,#TContainer6b ,#TToolBar6 ,#TToolbouton6 ,26,2*26,28,28,RGB(0,0,250),#PB_ToolBarIcon_Find)
;tool 07
Toolicon(#TContainer7 ,#TContainer7b ,#TToolBar7 ,#TToolbouton7 , 0,3*26,28,28,RGB(0,0,250),#PB_ToolBarIcon_Replace)
;tool 08	
Toolicon(#TContainer8 ,#TContainer8b ,#TToolBar8 ,#TToolbouton8 ,26,3*26,28,28,RGB(0,0,250), #PB_ToolBarIcon_Cut) 
;tool 09
Toolicon(#TContainer9 ,#TContainer9b ,#TToolBar9 ,#TToolbouton9 , 0,4*26,28,28,RGB(0,0,250),#PB_ToolBarIcon_Copy)
;tool 10	
Toolicon(#TContainer10,#TContainer10b,#TToolBar10,#TToolbouton10,26,4*26,28,28,RGB(0,0,250),#PB_ToolBarIcon_Paste)
;tool 11	
Toolicon(#TContainer11,#TContainer11b,#TToolBar11,#TToolbouton11, 0,5*26,28,28,RGB(0,0,250),#PB_ToolBarIcon_Undo)
;tool 12	
Toolicon(#TContainer12,#TContainer12b,#TToolBar12,#TToolbouton12,26,5*26,28,28,RGB(0,0,250),#PB_ToolBarIcon_Redo)
;tool 14	
Toolicon(#TContainer14,#TContainer14b,#TToolBar14,#TToolbouton14,26,6*26,28,28,RGB(0,0,250),#PB_ToolBarIcon_Properties) 
;tool 15	
Toolicon(#TContainer15,#TContainer15b,#TToolBar15,#TToolbouton15, 0,7*26,28,28,RGB(0,0,250),#PB_ToolBarIcon_Help)
;tool 16	
Toolicon(#TContainer16,#TContainer16b,#TToolBar16,#TToolbouton16,26,7*26,28,28,RGB(0,0,250),#PB_ToolBarIcon_New) 
;tool 13  couleur differente
Toolicon(#TContainer13,#TContainer13b,#TToolBar13,#TToolbouton13, 0,(6*26)+1,26,25,RGB(250,0,0),#PB_ToolBarIcon_Delete)

StickyWindow( #Win1, 1) 
Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      End
    Case #PB_Event_Gadget
      Select EventGadget()
      EndSelect
    Case #PB_Event_Menu
      Debug "Identifiant Barre d'outils: "+Str(EventMenu())
  EndSelect
ForEver

Code : Tout sélectionner

Enumeration 
  #Win1 
  #TToolbouton1
  #TToolbouton2
  #TToolbouton3
  #TToolbouton4
  #TToolbouton5
  #TToolbouton6
  #TToolbouton7
  #TToolbouton8
  #TContainer1
  #TContainer1b
  #TContainer2
  #TContainer2b
  #TContainer3
  #TContainer3b
  #TContainer4
  #TContainer4b
  #TContainer5
  #TContainer5b
  #TContainer6
  #TContainer6b
  #TContainer7
  #TContainer7b
  #TContainer8
  #TContainer8b
  #TToolBar1
  #TToolBar2
  #TToolBar3
  #TToolBar4
  #TToolBar5
  #TToolBar6
  #TToolBar7
  #TToolBar8
EndEnumeration 
UsePNGImageDecoder()

Procedure.i ResizeToolBarButton(ToolBar.i, Width.i, Height.i=#PB_Default)
  ; auteur STARGÅTE
  Protected *ImageList
  If Height = #PB_Default
    Height = Width
  EndIf
  If IsToolBar(ToolBar)
    *ImageList = SendMessage_(ToolBarID(ToolBar),#TB_GETIMAGELIST,0,0)
    ImageList_SetIconSize_(*ImageList, Width, Height)
    SendMessage_(ToolBarID(ToolBar),#TB_SETIMAGELIST, #Null, *ImageList)
    SendMessage_(ToolBarID(ToolBar),#TB_AUTOSIZE, #Null, #Null)
  EndIf
EndProcedure

Procedure Toolicon(Gadget01,Gadget02,Gadget03,Gadget04,x,y,l,h,color,image)
  ContainerGadget(Gadget01, x,y,l,h,#PB_Container_BorderLess)
  CloseGadgetList()
  SetGadgetColor(Gadget01,#PB_Gadget_BackColor, color)
  DisableGadget(Gadget01, 1)
  ContainerGadget(Gadget02, x+2,y+2,l-5,h-5,#PB_Container_BorderLess) 
  CloseGadgetList()
  CreateToolBar(Gadget03, GadgetID(Gadget02))
  ResizeToolBarButton(Gadget03, 32)
  ToolBarImageButton(Gadget04, ImageID(CatchImage(#PB_Any,image)))
EndProcedure

OpenWindow( #Win1,  500, 360, 85, 170, "Tool ",#PB_Window_SystemMenu|#PB_Window_Tool)
;tool 01	
Toolicon(#TContainer1,#TContainer1b,#TToolBar1,#TToolbouton1,0,0,44,44,RGB(0,0,250), ?folder_page_white)
;tool 02	
Toolicon(#TContainer2,#TContainer2b,#TToolBar2,#TToolbouton2,42,0,44,44,RGB(0,0,250), ?page_white_add)
;tool 03
Toolicon(#TContainer3,#TContainer3b,#TToolBar3,#TToolbouton3,0,42,44,44,RGB(0,0,250), ?page_white_add)
;tool 04	
Toolicon(#TContainer4,#TContainer4b,#TToolBar4,#TToolbouton4,42,42,44,44,RGB(0,0,250), ?folder_page_white)
;tool 05	
Toolicon(#TContainer5,#TContainer5b,#TToolBar5,#TToolbouton5,0,84,44,44,RGB(0,0,250), ?folder_page_white)
;tool 06	
Toolicon(#TContainer6,#TContainer6b,#TToolBar6,#TToolbouton6,42,84,44,44,RGB(0,0,250), ?page_white_add)
;tool 07
Toolicon(#TContainer7,#TContainer7b,#TToolBar7,#TToolbouton7,0,126,44,44,RGB(0,0,250), ?page_white_add)
;tool 08	
Toolicon(#TContainer8,#TContainer8b,#TToolBar8,#TToolbouton8,42,126,44,44,RGB(0,0,250), ?folder_page_white) 

StickyWindow( #Win1, 1) 
Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      End
    Case #PB_Event_Gadget
      Select EventGadget()
      EndSelect
    Case #PB_Event_Menu
      Debug "Identifiant Barre d'outils: "+Str(EventMenu())
  EndSelect
ForEver

DataSection
  page_white_add:
  Data.q $0A1A0A0D474E5089,$524448490D000000,$2000000020000000,$7A7A730000000608,$58457419000000F4
  Data.q $72617774666F5374,$2065626F64410065,$6165526567616D49,$00003C65C9717964,$DA78544144499A04
  Data.q $FE1455146C5D57BC,$B502EEEDD99DDCEE,$18C4A848318BBB0A,$0821286D0282827F,$313520686C11521A
  Data.q $7E07D1A3183CA4D1,$17969301F007D134,$A14301FD881F41F1,$56A5AB46C62A6828,$DD9434862B49B4D0
  Data.q $B5DB6EE0B4A5B8D6,$B6CC333B3B9E3B3F,$B993937896CCEEDB,$BBF77EEF9EE773B9,$E63182AAAA619CE7
  Data.q $D4DB3A91A673386A,$419B31349C2A1264,$9577675353530C62,$55CFFDA4C0D19595,$45B7CEA00202DDCD
  Data.q $AD34FEBEB6B551A3,$0E8F4FE977FAEDC7,$6D1C460BAF7AD704,$87575350CB83F960,$1DC6E369B07B3D8A
  Data.q $2EEF762B27F5F535,$27F497BED953D7A7,$79CE334924976833,$6873D00B6AE63356,$94953620C18216F8
  Data.q $658684434345F4BC,$15162F7626CC00BB,$3413BED3CC666CCF,$28508831B818DDBA,$9D4F2742EB75E284
  Data.q $66A700232206CDEA,$8263C79E465BB734,$13989894B45450D8,$7D995A0B9C000CC4,$F5E0BB9C0BBCCCE3
  Data.q $2928E3CCF9F7E07A,$840D9FEF024A5E2E,$8636EC0634A6A2CB,$713DA8858595DCD4,$5FA574933972CC02
  Data.q $BB23E64C5B526126,$00472408F3003B35,$BD59AC11B1E23668,$329CDA992D4CB35A,$9A019B6034D30337
  Data.q $462199388A36323B,$D764C4B030417C4B,$6CC51D0021C90016,$B98199CA2076CE01,$4CCE00266203B198
  Data.q $2EE011E32D1FFD61,$E023CD8A6ED36001,$F6166120DFA870F3,$8B1D4E0329DB925D,$CF6B205241F944A0
  Data.q $E844CEBDF2BD1274,$1D0565B8649739D4,$7FF7C01FB5D466E1,$56604987682469B4,$476560544F12792D
  Data.q $004CC6E5E9006E0D,$2C8F0CB9C828B392,$1C75D37C15E9AAA3,$90ABEBA389D9AC2F,$7451898939B4F8A7
  Data.q $1E04B776AC31DB85,$A6B5EC01EDFA7C49,$FCE69725C03179E9,$F7873BE8E8A5B383,$3D0B8ED63FA28FCB
  Data.q $DF80A6054F103107,$D58BCEF03B82C787,$687ADB5F77EBF8F8,$CA4201A5441D3590,$2B995B89C63B01A4
  Data.q $DE1CE7B5A0B48CE8,$7B411F0E7E21FEDA,$576D8F1514C316A4,$06A45B411B1A1B35,$91FB73E5421EF63F
  Data.q $3228DBC96AFFC8BF,$307CA905BA652254,$BCF87E4A7BB449B7,$BFCE85DDAE761F6D,$607A7C523EB3938F
  Data.q $DF82347376317D14,$770E553FCF0CFAFF,$407AF731D91B0E01,$1E2B577378B44254,$249305762FA01408
  Data.q $7ACEF278C0937FAF,$1BAC48BBC4C62FA2,$DE40C697303EC5A1,$62E92C594ED091AC,$1E7C219712063815
  Data.q $C677A563C3F332D9,$B8D5FB1D10C77DF6,$3B70C45C00464AA1,$1AC3C7C58A52D869,$812CCB9A9B45D9CD
  Data.q $120F5C8CC05BF732,$0CCD7BCFDA1E145D,$B7AA0AFE82454413,$BC87831366F1B6A6,$F44EDCE68F3CE4C8
  Data.q $4A8D529E9A4469A7,$3374796C8B199B37,$297949241EA90606,$F443D296BCC9FAE2,$8021CDCE6A7731B5
  Data.q $29609240466FC342,$56CF9568D1089DC7,$90090A108A4F4AE1,$298FAAA16647295D,$7FD01AE7A05E38B2
  Data.q $54C047699F42D519,$3E568171B1BA7635,$EF44E60844262AD9,$E74BD686DFCAAC42,$F30949505A19E1B1
  Data.q $95080020326645F0,$BB2F87D5C744BC5E,$B57EE98C8D0B42BF,$27BB272FEA7CC37F,$DFAF037E9FCC5CC7
  Data.q $2FD1443F0FA502BF,$A21E924DADF44040,$E7047F44ABCFE051,$593AF869FB08F87F,$56ABD64001831C4C
  Data.q $E1416DF22C4CC725,$85957B16B65FAC66,$7FF19DB44ABCDC78,$80BD5C9F05FE19D0,$508DB7E89444689F
  Data.q $0DF5C1ED6F98006C,$A0FCB7E647DD9014,$82482A923271470A,$B8C005BBA326B118,$AC816B14E11EB298
  Data.q $FC74F4C4F99C4E0B,$8DA4842C0003009F,$000000005F1FFFFF,$826042AE444E4549
  folder_page_white:
  Data.q $0A1A0A0D474E5089,$524448490D000000,$2000000020000000,$7A7A730000000608,$58457419000000F4
  Data.q $72617774666F5374,$2065626F64410065,$6165526567616D49,$00003C65C9717964,$DA7854414449AC04
  Data.q $5D14555C685B57C4,$149A4DB189D331E7,$A947F14AA49284D3,$92A1681F01A1FAB5,$C3F4446027F05620
  Data.q $FC7F04BF6FD10552,$A442C3F505B14110,$E9055289FD4A2456,$325A4B57C52DB18F,$C932674998EA7479
  Data.q $F3BDCE7DC7BDEFBC,$CCCD81E81D579DCC,$7B5ED675ECE6733D,$3073B70A529973EF,$AC046727A3FE7932
  Data.q $31977CA8F438E571,$4FFAF8399E4361CE,$D6490014EAC26847,$96DA73ED7FEF9DA5,$9F4B814C0EAC55F6
  Data.q $12746D93D7A13CBC,$7EFFE79C9C9CC840,$C6C3958F3C2FCE8F,$7C2E2CB9582991B6,$5CCD1ED6319248F8
  Data.q $65AB9EF627BEF668,$D20F141639BC964F,$B2888E81C2AC8053,$2B7A6C783862E4E1,$F620190369DEA6B6
  Data.q $111D964F63F71A5E,$BE6033564C8F4E30,$DB67AB033F621472,$DEFB8236EFE8AEF4,$9E4003EA842FAB86
  Data.q $F3D0213E5F35CE0E,$288426B2129282A2,$34FCC95C59277197,$00EA23F2053BCEE0,$B3E66306652B8BF0
  Data.q $AB0EAE93A7B40331,$26DA73354996033F,$E617C2382E53B400,$027D501686F17371,$C0482BA28E760834
  Data.q $0ACA24BCD05D468F,$33A66E86032ED80D,$F17CE42FCD1D37DF,$7C6F43C390A015FC,$A0D58D05468C0461
  Data.q $59446ABF8F28900A,$426D3338982A810E,$FC209F4D84F98CB8,$A3FDE18DACD265EB,$ED580BF51F795FC8
  Data.q $9067BE8047BA2070,$E6565044D1CFC8D8,$DBFC2008B806273A,$9B7ED7275C2D885F,$BD81E4600F0DF472
  Data.q $0669B23358651C70,$B11BBCEFC699B940,$76ADF53963F8736B,$06247AD38A01AD5A,$C0203F47C3C29B2B
  Data.q $A722B000CC030D76,$CD1BA306246628E0,$50213FC75337828C,$0A7CB920F63BC074,$2CACE9A19F2ECD9F
  Data.q $2AC8F1121018856B,$8AC3491147DE8E76,$929D1218B28B54CE,$6F0ED81CCE12ACAC,$880B7DA41A1E041A
  Data.q $4C7AEAF17BFFCCAF,$933A196E01997EE7,$5DB09A7C1E8618D1,$AA81ACFF97A0E7A7,$90C797B3070B78A8
  Data.q $8E0197CD05B97748,$73F873DD03861EFE,$D2145A32A6927621,$2453D66664A675EB,$E736B0833D6D8150
  Data.q $75C081A063D077C9,$7C985D9BE236E5A9,$70D67F91B5C370E1,$A68ACBFD38EFECF1,$4AC49369DDAA8B36
  Data.q $AA8C301AF7A3BD14,$9B1AC88CCCD2A317,$5E10B1A634E94E66,$9C9DCCD16CF25B24,$7EEED0C59B26469E
  Data.q $13CDFE782BD4FFDC,$E093300097D5196F,$451F77B7D0452F88,$87F6E03C88ADCD66,$745892948053CC56
  Data.q $B90B509043D77F4D,$31FA068634E95202,$FA757E5F23F1E871,$A09D2ADB98BCB36B,$1EFA6ED768405B76
  Data.q $9010EB24A96FA735,$AED8A05294028B78,$DAB960A3B54A7295,$406085DC0C0C4CD0,$11BCD82D110B944E
  Data.q $D694D153119ECF41,$2A94EE5BB7AD9707,$1DE0971C0015E0A1,$FAFA1671FD98837D,$DE1272717AD15367
  Data.q $51AD144032E43055,$D6EF9148FD35FABC,$3AFF9CA230AA5F4E,$F8D41771477D8B95,$4AC005CBFEB6C7A1
  Data.q $79530F4668904821,$7CF56DDD94EB51CE,$D5780874C8D79CF0,$F6763FCB6244F16F,$110DB15B437756F6
  Data.q $579538E274BF6C08,$032701D52D5BCDA7,$31CB0D04296EFC36,$F0FE8E07F38EDADB,$EDE6CB19EF67B1C4
  Data.q $66F5750516E8EFB6,$1000D4FB0EF5372A,$F1FC2C8A694BEDA2,$E7FA9D569B56D777,$36DE085E29E531DA
  Data.q $0FFFAD9388C3EA00,$024006B9DBAE0500,$1596A37B53B2F46E,$66C30B74EAC5D89B,$9CBC3410EA48ADDE
  Data.q $ABAA8D0E894FAAB0,$5400C3BC0DEF0B61,$58CCCCCDF73C9932,$F87AF56529C4592B,$4C364ED8D2DD87BF
  Data.q $EFACBAE943C5ABB6,$9EB7BD20029D4B03,$8338ED7954258B50,$49D7006013FE3DDB,$0000AB8902041EB9
  Data.q $42AE444E45490000,$0000000000008260
EndDataSection

Code : Tout sélectionner

Enumeration 
  #Win 
  #PanelGadget1
  #bouton1
  #bouton2
  #ProgressBar
  #ComboBox1
  #Container1
  #Container2
  #ToolBar1
  #ToolBar2
  #image1
  #image2
  #imagegadget1
  #imagegadget2
EndEnumeration 
Enumeration 1
  #icon1
  #icon2
  #icon3
  #icon4
  #icon5
  #icon6
  #icon7
  #icon8
EndEnumeration 

Procedure ToolBarText(hwnd,ButtonID,Text.s) ;procedure text toolbar Auteur : Fluid Byte 
  tbi.TBBUTTONINFO
  tbi\cbSize = SizeOf(TBBUTTONINFO)
  tbi\dwMask = #TBIF_TEXT | #TBIF_STYLE
  tbi\fsStyle = #BTNS_BUTTON | #BTNS_AUTOSIZE
  tbi\pszText = @Text
  SendMessage_(hwnd,#TB_SETBUTTONINFO,ButtonID,tbi)
EndProcedure

CreateImage(#image1,272,128,32):CreateImage(#image2,272,128,32)

OpenWindow( #Win, 0, 0, 300, 200, "Panel Gadget ToolBar Color ", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)

PanelGadget(#PanelGadget1, 10, 10, WindowWidth(#Win) - 20, WindowHeight(#Win) - 20)

;##### Onglet 1
AddGadgetItem(#PanelGadget1, -1, "Panel 1")
ContainerGadget(#Container1, 0, 0, 272,24,#PB_Container_BorderLess)   ; container a la taille ToolBar
CloseGadgetList()

StartDrawing(ImageOutput(#image1))
Box(0, 0, 272,128)
FillArea(0, 0, -1,RGB(249, 220, 180))
StopDrawing()
ImageGadget(#imagegadget1,0,25,272,128,ImageID(#image1))
DisableGadget(#imagegadget1,1)                                      ; desactive le imagegadget pour le fonctionnement du bouton & gadgets etc..

ButtonGadget(#bouton1, 40,  40, 100, 20, "Bouton standard")

CreateToolBar(#ToolBar1,GadgetID(#Container1))
; with windows API remove comment from the following line
SetWindowLongPtr_(ToolBarID(#ToolBar1),#GWL_STYLE,GetWindowLongPtr_(ToolBarID(#ToolBar1),#GWL_STYLE)|#TBSTYLE_LIST)
;
ToolBarStandardButton(#icon1,#PB_ToolBarIcon_New)
ToolBarStandardButton(#icon2,#PB_ToolBarIcon_Open)
ToolBarStandardButton(#icon3,#PB_ToolBarIcon_Undo)
ToolBarStandardButton(#icon4,#PB_ToolBarIcon_Redo)
ToolBarText(ToolBarID(#ToolBar1),#icon1,"New")
ToolBarText(ToolBarID(#ToolBar1),#icon2,"Open")
ToolBarText(ToolBarID(#ToolBar1),#icon3,"Cancel")
ToolBarText(ToolBarID(#ToolBar1),#icon4,"Restore")
;##### Onglet 2
AddGadgetItem(#PanelGadget1, -1, "Panel 2")
ContainerGadget(#Container2,  0, 0, 130,24,#PB_Container_BorderLess)   ; container a la taille ToolBar
CloseGadgetList()

StartDrawing(ImageOutput(#image2))
Box(0, 0, 272,128)
FillArea(0, 0, -1, RGB(0,150,250))
StopDrawing()
ImageGadget(#imagegadget2,0,25,272,128,ImageID(#image2))
DisableGadget(#imagegadget2,1)                                      ; desactive le imagegadget pour le fonctionnement du bouton & gadgets etc..

ButtonGadget(#bouton2, 100,  80, 100, 20, "Botton standard")


hpg=ProgressBarGadget(#ProgressBar,130,  0, 49, 24, 0, 100)


ComboBoxGadget(#ComboBox1, 180,  0, 90, 24)
For a = 1 To 5
  AddGadgetItem(#ComboBox1, -1,"Item " + Str(a-1))
Next
SetGadgetState(#ComboBox1,0)


CreateToolBar(#ToolBar2, GadgetID(#Container2))
;SetWindowLongPtr_(ToolBarID(#ToolBar2),#GWL_STYLE,GetWindowLongPtr_(ToolBarID(#ToolBar2),#GWL_STYLE)|#TBSTYLE_LIST)

ToolBarSeparator()
ToolBarStandardButton(#icon5,#PB_ToolBarIcon_Cut)
ToolBarSeparator()
ToolBarStandardButton(#icon6,#PB_ToolBarIcon_Copy)
ToolBarSeparator()
ToolBarStandardButton(#icon7,#PB_ToolBarIcon_Paste)
ToolBarSeparator()
ToolBarStandardButton(#icon8,#PB_ToolBarIcon_Replace)
ToolBarSeparator()

;ToolBarText(ToolBarID(#ToolBar2),#icon5,"Cut")
;ToolBarText(ToolBarID(#ToolBar2),#icon6,"Copy")
;ToolBarText(ToolBarID(#ToolBar2),#icon7,"Paste")
;ToolBarText(ToolBarID(#ToolBar2),#icon8,"Replace")

Repeat
  Select WaitWindowEvent()
      
    Case #PB_Event_CloseWindow
      End
    Case #PB_Event_Gadget
      Select EventGadget()
        Case #bouton1
          Debug "Identifiant button: "+Str(EventGadget())
        Case #bouton2
          Debug "Identifiant button: "+Str(EventGadget())
          For i=0 To 100
            WaitWindowEvent(Delay(20))
            SetGadgetState(#ProgressBar, i)
          Next i 
          For i=0 To 100 
            WaitWindowEvent(Delay(20))
            SetGadgetState(#ProgressBar, 100-i)
          Next i 
        Case #ComboBox1
          Debug "Identifiant item "+Str(GetGadgetState(#ComboBox1))
      EndSelect
    Case #PB_Event_Menu
      Debug "Identifiant toolbar: "+Str(EventMenu()) 
  EndSelect
ForEver
Dernière modification par kernadec le sam. 02/août/2014 7:50, modifié 10 fois.
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: ToolBar fun

Message par Ar-S »

Vraiment sympa avec les grandes icones.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: ToolBar fun

Message par Kwai chang caine »

Oui joli tout plein, merci Kernadec et Stargate 8)
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
venom
Messages : 3128
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: ToolBar fun

Message par venom »

Oui très beau rendu en peut de ligne.
Bravo et merci pour la source.






@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: ToolBar fun

Message par kernadec »

bonsoir
merci à vous.

Pour rester dans le même genre avec le PanelGadget
Voir le premier Post pour le code..

Avec un container sur toute la surface du PanelGadget
le bouton n' est plus actif et s' efface au passage d'une fenêtre.

donc pour avoir le mode Toolbar en cohabitation avec d'autres gadgets avec le PanelGadget,
il faut un mettre un container de la même surface que la ToolBar.


Cordialement

[réédité]
voilà une solution avec CanvasGadget pour avoir des gadgets avec ToolBar et un fond coloré dans un PanelGadget.
code mis à jour
Dernière modification par kernadec le lun. 03/déc./2012 23:43, modifié 1 fois.
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: ToolBar - PanelGadget fun

Message par Kwai chang caine »

Sur le troisieme code, j'ai le Bouton qui vibre à faire rosir un SToy :lol:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: ToolBar - PanelGadget fun

Message par kernadec »

bonsoir KCC
avec quel OS si c'est Vista, je n' ai pas ce system
sinon j'ai testé avec XP SP2 et Seven32, j'ai pas eu ce soucis

Cordialement
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: ToolBar - PanelGadget fun

Message par kernadec »

Bonjour
bon il faut que j'arrête les médocs :( désolé KCC.
voilà une autre formule ... code mis à jour
modification du code avec l'utilisation d' ImageGadget au lieu de CanvasGadget
comme cela il n'y a plus de vibrations sous XP :oops:

Cordialement
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: ToolBar - PanelGadget fun

Message par Kwai chang caine »

Impeccable....plus de vibration, même si parfois elles peuvent avoir leur utilité :mrgreen:
Merci beaucoup 8)
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: ToolBar - PanelGadget fun

Message par blendman »

salut
C'est sympa tout ça.

Avec le dernier code sous 7, la barre de progression fait un peu bugguer le programme, si on clique sur le bouton du 2ème onglet, et qu'on revient sur le 1er onglet;).
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: ToolBar - PanelGadget fun

Message par kernadec »

bonjour et merci blendman pour le retour,
je vais regarder, je n' avais peut être pas testé sous seven.. mince. :oops:

Cordialement
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: ToolBar - PanelGadget fun

Message par kernadec »

bonjour suite au problème détecté par blendman

il s’avère qu'au milieu d'une boucle event avec XP, Seven,
les clics mouse perturbent le delay() et parfois un crash événement pour ce cas de figure.

pour contrer cela, voilà peut être une solution.

avec un WaitWindowEvent(Delay(50)) le problème des events semble résolu sous XP

avec Seven cela fonctionne, mais il reste des petites secousses quand on clic sur les boutons
toolbar pendant le mouvement de la progressbar, mais ne provoque plus de crash fatal comme avant.

mise à jour du 3ème code ci-dessus.

Cordialement
Répondre