Page 1 sur 1
[R] Toolbar
Posté : jeu. 12 juin 2014 21:54
par Bonjour
Bonjour j'ai chercher dans pas mal de forum et j'ai jamais rien compris.
Comment programmer les bouttons:
-new
-open
-save
sur un toolbar,je sais les afficher mais pas les rendre utilisable et encore moins récupérer les donner.Merci d'avance

Re: [...] Toolbar
Posté : jeu. 12 juin 2014 21:58
par jguinch
Tu as regardé l'exemple de la fonction _GUICtrlToolbar_Create ?
Re: [...] Toolbar
Posté : jeu. 12 juin 2014 22:02
par Bonjour
oui mais je n'ai pas compris ou étais l'ordre et je l'ai lancer il ne fait qu'écrire sur quelle boutton la sourie se trouve (enfin je crois)
Re: [...] Toolbar
Posté : jeu. 12 juin 2014 22:56
par jguinch
Regarde le code plus en détail et teste de nouveau : ça se passe dans _WM_NOTIFY
Case $NM_LDOWN teste le clic sur un item (c'est ce que tu cherches non ?)
Le reste sert à en gros afficher l'icône survolée
Re: [...] Toolbar
Posté : ven. 13 juin 2014 08:29
par Bonjour
oui sa marche mais il ne fait que dire que j'ai appuyée dessus il n'es pas utile. C'est quoi le code qui fait que quand on clic dessus (ex save) une fenêtre s'ouvre et demande à quel emplacement on veux sauvegarder et il me faudrait ça pour save new et open
Re: [...] Toolbar
Posté : ven. 13 juin 2014 13:25
par jguinch
Il y plusieurs façon de faire.
En voilà une:
► Afficher le texte
Code : Tout sélectionner
#include <GuiToolbar.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $hToolbar
Global $iItem ; Command identifier of the button associated with the notification.
Global Enum $id_New = 1000, $id_Open, $id_Save, $id_Help
Global $id_DummyNew, $id_DummyOpen, $id_DummySave, $id_DummyHelp
Local $hGUI, $aSize
; Create GUI
$hGUI = GUICreate("Toolbar", 600, 400)
$id_DummyNew = GUICtrlCreateDummy()
$id_DummyOpen = GUICtrlCreateDummy()
$id_DummySave = GUICtrlCreateDummy()
$id_DummyHelp = GUICtrlCreateDummy()
$hToolbar = _GUICtrlToolbar_Create($hGUI)
$aSize = _GUICtrlToolbar_GetMaxSize($hToolbar)
GUISetState(@SW_SHOW)
GUIRegisterMsg($WM_NOTIFY, "_WM_NOTIFY")
; Add standard system bitmaps
_GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_LARGE_COLOR)
; Add buttons
_GUICtrlToolbar_AddButton($hToolbar, $id_New, $STD_FILENEW)
_GUICtrlToolbar_AddButton($hToolbar, $id_Open, $STD_FILEOPEN)
_GUICtrlToolbar_AddButton($hToolbar, $id_Save, $STD_FILESAVE)
_GUICtrlToolbar_AddButtonSep($hToolbar)
_GUICtrlToolbar_AddButton($hToolbar, $id_Help, $STD_HELP)
; Loop until the user exits.
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
ExitLoop
Case $id_DummyNew
$file = FileOpenDialog("Nouveau", @ScriptDir, "All (*.*)", 8)
Case $id_DummyOpen
$file = FileOpenDialog("Ouvrir", @ScriptDir, "All (*.*)")
Case $id_DummySave
$file = FileSaveDialog("Enregistrer", @ScriptDir, "All (*.*)")
Case $id_DummyHelp
MsgBox(0, "About", "blabla")
EndSwitch
WEnd
; WM_NOTIFY event handler
Func _WM_NOTIFY($hWndGUI, $MsgID, $wParam, $lParam)
#forceref $hWndGUI, $MsgID, $wParam
Local $tNMHDR, $hwndFrom, $code, $i_idNew, $dwFlags, $i_idOld
Local $tNMTBHOTITEM
$tNMHDR = DllStructCreate($tagNMHDR, $lParam)
$hwndFrom = DllStructGetData($tNMHDR, "hWndFrom")
$code = DllStructGetData($tNMHDR, "Code")
Switch $hwndFrom
Case $hToolbar
Switch $code
Case $NM_CLICK
$tNMTBHOTITEM = DllStructCreate($tagNMTBHOTITEM, $lParam)
$iItem = DllStructGetData($tNMTBHOTITEM, "idOld")
Switch $iItem
Case $id_New
GUICtrlSendToDummy($id_DummyNew)
Case $id_Open
GUICtrlSendToDummy($id_DummyOpen)
Case $id_Save
GUICtrlSendToDummy($id_DummySave)
Case $id_Help
GUICtrlSendToDummy($id_DummyHelp)
EndSwitch
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>_WM_NOTIFY
Re: [...] Toolbar
Posté : sam. 14 juin 2014 19:02
par Bonjour
Ok je regarde ça la semaine prochaine la je suis un peu occuper
Re: [...] Toolbar
Posté : jeu. 19 juin 2014 08:42
par Bonjour
C'est bon ça à marcher merci.