Cr�e un contr�le ToolBar - barre d'outils
#include <GuiToolbar.au3>
_GUICtrlToolbar_Create ( $hWnd [, $iStyle = 0x00000800 [, $iExStyle = 0x00000000]] )
$hWnd | Handle du parent ou du propri�taire de la fen�tre |
$iStyle | [optionnel] Styles du contr�le: $TBSTYLE_ALTDRAG - Permet aux utilisateurs de modifier la position d'un bouton de la barre d'outils en le faisant glisser tout en maintenant la touche ALT enfonc�e. Si ce style n'est pas sp�cifi�, l'utilisateur doit appuyer sur la touche SHIFT tout en faisant glisser un bouton. Notez que le style de $CCS_ADJUSTABLE doit �tre sp�cifi�e pour permettre aux boutons de la barre d'outils d'�tre gliss�s. $TBSTYLE_CUSTOMERASE - G�n�re des messages $NM_CUSTOMDRAW lorsque la barre d'outils traite les messages $WM_ERASEBKGND $TBSTYLE_FLAT - Cr�e une barre d'outils sans relief $TBSTYLE_LIST - Cr�e une barre d'outils sans relief avec le texte du bouton � droite de l'image bitmap $TBSTYLE_REGISTERDROP - G�n�re des messages de notification $TBN_GETOBJECT pour demander les objets cibles o� d�poser lorsque le curseur passe au-dessus des boutons de la barre d'outils. $TBSTYLE_TOOLTIPS - Cr�e un contr�le info-bulle que l'application peut utiliser pour afficher un texte descriptif des boutons de la barre d'outils. $TBSTYLE_TRANSPARENT - Cr�e une barre d'outils transparente, mais les boutons ne le sont pas. Le texte d'un bouton appara�t sous le bitmap du bouton. Pour �viter des probl�mes de peinture du contr�le, ce style doit �tre d�fini avant que le contr�le de barre d'outils devienne visible. $TBSTYLE_WRAPABLE - Cr�e une barre d'outils qui peut avoir plusieurs lignes de boutons. Les boutons de la barre d'outils peuvent passer � la ligne suivante lorsque la barre d'outils devient trop �troite pour y inclure tous les boutons sur la m�me ligne. Lorsque la barre d'outils est coup�e, la rupture se produit soit sur le s�parateur le plus � droite, soit sur le bouton le plus � droite s'il n'y a pas de s�parateurs sur la barre. Ce style doit �tre d�fini pour afficher un contr�le de barre d'outils verticale lorsque la barre d'outils fait partie d'un contr�le Rebar vertical. Par d�faut: $TBSTYLE_FLAT For��: $WS_CHILD, $WS_CLIPSIBLINGS, $WS_VISIBLE |
$iExStyle | [optionnel] Styles �tendus du contr�le: $TBSTYLE_EX_DRAWDDARROWS - Permet aux boutons d'avoir une fl�che d�roulante s�par�. Les boutons qui ont le style $BTNS_DROPDOWN seront repr�sent�s par une fl�che d�roulante dans une section distincte, � la droite du bouton. Si la fl�che est cliqu�e, seule la partie de la fl�che du bouton est enfonc�, et le contr�le de la barre d'outils enverra la notification $TBN_DROPDOWN pour demander � l'application d'afficher le menu d�roulant. Si la partie principale du bouton est cliqu�e, le contr�le barre d'outils envoie un message $WM_COMMAND avec l'ID du bouton. $TBSTYLE_EX_HIDECLIPPEDBUTTONS - Masque les boutons partiellement coup�es $TBSTYLE_EX_DOUBLEBUFFER - D�finit un double tampon pour la barre d'outils $TBSTYLE_EX_MIXEDBUTTONS - Permet de d�finir le texte pour tous les boutons, mais seulement l'afficher pour les boutons avec le style $BTNS_SHOWTEXT. Le style $TBSTYLE_LIST doit �galement �tre d�finie. Normalement, quand un bouton n'affiche pas de texte, vous devez g�rer $TBN_GETINFOTIP pour afficher une info-bulle. Avec le style �tendu $TBSTYLE_EX_MIXEDBUTTONS, le texte qui est d�fini mais non affich� sur un bouton sera automatiquement utilis� comme texte d'info-bulle du bouton. Vous devez g�rer $TBN_GETINFOTIP si vous avez besoin de plus de flexibilit� en sp�cifiant le texte de l'info-bulle. |
Succ�s: | Retourne le handle du contr�le de la barre d'outils. |
�chec: | Retourne 0. |
#include <GUIConstantsEx.au3> #include <GuiToolbar.au3> #include <WinAPIConstants.au3> #include <WindowsConstants.au3> Global $g_hToolbar, $g_idMemo Global $g_iItem ; Command identifier of the button associated with the notification. Global Enum $e_idNew = 1000, $e_idOpen, $e_idSave, $e_idHelp Example() Func Example() Local $hGUI, $aSize ; Cr�e une GUI $hGUI = GUICreate("Toolbar", 600, 400) $g_hToolbar = _GUICtrlToolbar_Create($hGUI) $aSize = _GUICtrlToolbar_GetMaxSize($g_hToolbar) $g_idMemo = GUICtrlCreateEdit("", 2, $aSize[1] + 20, 596, 396 - ($aSize[1] + 20), $WS_VSCROLL) GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New") GUISetState(@SW_SHOW) GUIRegisterMsg($WM_NOTIFY, "_WM_NOTIFY") ; Ajoute des bitmaps syst�me standards _GUICtrlToolbar_AddBitmap($g_hToolbar, 1, -1, $IDB_STD_LARGE_COLOR) ; Ajoute des boutons _GUICtrlToolbar_AddButton($g_hToolbar, $e_idNew, $STD_FILENEW) _GUICtrlToolbar_AddButton($g_hToolbar, $e_idOpen, $STD_FILEOPEN) _GUICtrlToolbar_AddButton($g_hToolbar, $e_idSave, $STD_FILESAVE) _GUICtrlToolbar_AddButtonSep($g_hToolbar) _GUICtrlToolbar_AddButton($g_hToolbar, $e_idHelp, $STD_HELP) ; Boucle jusqu'� ce que l'utilisateur quitte. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE EndFunc ;==>Example ; Ecrit un message dans le contr�le memo Func MemoWrite($sMessage = "") GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1) EndFunc ;==>MemoWrite ; Gestionnaire d'�v�nements WM_NOTIFY Func _WM_NOTIFY($hWndGUI, $iMsgID, $wParam, $lParam) #forceref $hWndGUI, $iMsgID, $wParam Local $tNMHDR, $hWndFrom, $iCode, $iNew, $iFlags, $iOld Local $tNMTBHOTITEM $tNMHDR = DllStructCreate($tagNMHDR, $lParam) $hWndFrom = DllStructGetData($tNMHDR, "hWndFrom") $iCode = DllStructGetData($tNMHDR, "Code") Switch $hWndFrom Case $g_hToolbar Switch $iCode Case $NM_LDOWN MemoWrite("$NM_LDOWN: Clicked Item: " & $g_iItem & " at index: " & _GUICtrlToolbar_CommandToIndex($g_hToolbar, $g_iItem)) Case $TBN_HOTITEMCHANGE $tNMTBHOTITEM = DllStructCreate($tagNMTBHOTITEM, $lParam) $iOld = DllStructGetData($tNMTBHOTITEM, "idOld") $iNew = DllStructGetData($tNMTBHOTITEM, "idNew") $g_iItem = $iNew $iFlags = DllStructGetData($tNMTBHOTITEM, "dwFlags") If BitAND($iFlags, $HICF_LEAVING) = $HICF_LEAVING Then MemoWrite("$HICF_LEAVING: " & $iOld) Else Switch $iNew Case $e_idNew MemoWrite("$TBN_HOTITEMCHANGE: $e_idNew") Case $e_idOpen MemoWrite("$TBN_HOTITEMCHANGE: $e_idOpen") Case $e_idSave MemoWrite("$TBN_HOTITEMCHANGE: $e_idSave") Case $e_idHelp MemoWrite("$TBN_HOTITEMCHANGE: $idHelp") EndSwitch EndIf EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==>_WM_NOTIFY