Cr�e un contr�le � onglet (TabControl)
#include <GuiTab.au3>
_GUICtrlTab_Create ( $hWnd, $iX, $iY [, $iWidth = 150 [, $iHeight = 150 [, $iStyle = 0x00000040 [, $iExStyle = 0x00000000]]]] )
$hWnd | Handle de la fen�tre parent ou propri�taire |
$iX | Position horizontale du contr�le |
$iY | Position verticale du contr�le |
$iWidth | [optionnel] Largeur du contr�le |
$iHeight | [optionnel] Hauteur du contr�le |
$iStyle | [optionnel] Styles du contr�le: $TCS_BOTTOM - Les onglets apparaissent dans le bas du contr�le $TCS_BUTTONS - Les onglets apparaissent sous forme de boutons, et aucune bordure est dessin�e autour de la zone d'affichage $TCS_FIXEDWIDTH - Tous les onglets sont de la m�me largeur $TCS_FLATBUTTONS - Les onglets s�lectionn�s apparaissent comme �tant en retrait par rapport � l'arri�re-plan tandis que les autres onglets apparaissent comme �tant dans le m�me plan que l'arri�re-plan. Cela affecte uniquement les contr�les � onglet avec le style $TCS_BUTTONS. $TCS_FOCUSNEVER - Le contr�le ne re�oit pas le focus d'entr�e lorsque vous cliquez dessus $TCS_FOCUSONBUTTONDOWN - Le contr�le re�oit le focus d'entr�e lorsque vous cliquez dessus $TCS_FORCEICONLEFT - Les ic�nes sont align�s avec le bord gauche de chaque onglet de largeur fixe. Ce style ne peut �tre utilis� qu'avec le style $TCS_FIXEDWIDTH. $TCS_FORCELABELLEFT - Les �tiquettes sont align�es sur le bord gauche de chaque onglet de largeur fixe. L'�tiquette est affich�e imm�diatement � la droite de l'ic�ne au lieu d'�tre centr�e. Ce style ne peut �tre utilis� qu'avec le style $TCS_FIXEDWIDTH et il implique le style $TCS_FORCEICONLEFT. $TCS_HOTTRACK - Les �l�ments sous le pointeur son automatiquement mis en surbrillance. Vous pouvez v�rifier si oui ou non HotTrack est activ� en appelant SystemParametersInfo. $TCS_MULTILINE - Plusieurs lignes d'onglets sont affich�s, si n�cessaire, de sorte que tous les onglets sont visibles � la fois $TCS_MULTISELECT - Plusieurs onglets peuvent �tre s�lectionn�s en maintenant la touche CTRL enfonc�e lorsque vous cliquez. Ce style doit �tre utilis� avec le style $TCS_BUTTONS. $TCS_OWNERDRAWFIXED - La fen�tre parente est responsable du dessin des onglets $TCS_RAGGEDRIGHT - Les rang�es d'onglet ne seront pas �tir�es pour remplir toute la largeur du contr�le. Ce style est la valeur par d�faut. $TCS_RIGHT - Les onglets apparaissent verticalement sur le c�t� droit du contr�le qui utilise le style $TCS_VERTICAL. Cette valeur est �gale � $TCS_BOTTOM. Ce style n'est pas pris en charge si vous utilisez des styles visuels. $TCS_RIGHTJUSTIFY - La largeur de chaque onglet est augment�e, si n�cessaire, de sorte que chaque rang�e d'onglets remplit toute la largeur du contr�le Tab. Ce style est ignor� sauf si le style $TCS_MULTILINE est �galement sp�cifi�. $TCS_SCROLLOPPOSITE - Les onglets superflus d�file vers le c�t� oppos� du contr�le lorsqu'un onglet est s�lectionn� $TCS_SINGLELINE - Une seule rang�e d'onglet s'affiche. L'utilisateur peut faire d�filer pour voir plus d'onglets, si n�cessaire. Ce style est le style par d�faut. $TCS_TABS - Les onglets apparaissent sous forme d'onglets, et une bordure est dessin�e autour de la zone d'affichage. Ce style est le style par d�faut. $TCS_TOOLTIPS - Le contr�le � onglet dispose d'un contr�le d'info-bulle qui lui est associ� $TCS_VERTICAL - Les onglets apparaissent sur le c�t� gauche du contr�le avec le texte de l'onglet vertical. Ce style n'est valable que lorsqu'il est utilis� avec le style $TCS_MULTILINE. Pour que les onglets apparaissent sur le c�t� droit du contr�le, utilisez aussi le style $TCS_RIGHT. Par d�faut: $TCS_HOTTRACK For��: $WS_CHILD, $WS_CLIPSIBLINGS $WS_VISIBLE |
$iExStyle | [optionnel] Styles �tendus du contr�le: $TCS_EX_FLATSEPARATORS - Le contr�le dessinera des s�parateurs entre les �l�ments d'un onglet $TCS_EX_REGISTERDROP - La contr�le g�n�re un messages de notification $TCN_GETOBJECT pour demander l'objet cible o� d�poser lorsque l'objet est tir� sur les �l�ments de l'onglet. |
Succ�s: | Retourne le handle du contr�le � onglet |
�chec: | Retourne 0 |
Cette fonction est destin�e aux utilisateurs avertis et � ceux qui veulent comprendre comment fonctionne le contr�le.
#include <GUIConstantsEx.au3> #include <GuiTab.au3> #include <WindowsConstants.au3> Global $g_hTab Example() Func Example() Local $hGUI ; Cr�e une GUI $hGUI = GUICreate("(UDF Created) Tab Control Create", 400, 300) $g_hTab = _GUICtrlTab_Create($hGUI, 2, 2, 396, 296) GUISetState(@SW_SHOW) GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") ; Ajoute des onglets _GUICtrlTab_InsertItem($g_hTab, 0, "Tab 1") _GUICtrlTab_InsertItem($g_hTab, 1, "Tab 2") _GUICtrlTab_InsertItem($g_hTab, 2, "Tab 3") ; Boucle jusqu'� ce que l'utilisateur quitte. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE GUIDelete() EndFunc ;==>Example Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam) #forceref $hWnd, $iMsg, $wParam Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndTab $hWndTab = $g_hTab If Not IsHWnd($g_hTab) Then $hWndTab = GUICtrlGetHandle($g_hTab) $tNMHDR = DllStructCreate($tagNMHDR, $lParam) $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom")) $iIDFrom = DllStructGetData($tNMHDR, "IDFrom") $iCode = DllStructGetData($tNMHDR, "Code") Switch $hWndFrom Case $hWndTab Switch $iCode Case $NM_CLICK ; L'utilisateur a cliqu� le bouton gauche de la souris � l'int�rieur du contr�le _DebugPrint("$NM_CLICK" & @CRLF & "--> hWndFrom:" & @TAB & $hWndFrom & @CRLF & _ "-->IDFrom:" & @TAB & $iIDFrom & @CRLF & _ "-->Code:" & @TAB & $iCode) ; La valeur retourn�e est ignor�e par le contr�le � onglet Case $NM_DBLCLK ; L'utilisateur a double-cliqu� le bouton gauche de la souris � l'int�rieur du contr�le _DebugPrint("$NM_DBLCLK" & @CRLF & "--> hWndFrom:" & @TAB & $hWndFrom & @CRLF & _ "-->IDFrom:" & @TAB & $iIDFrom & @CRLF & _ "-->Code:" & @TAB & $iCode) ; Return 1 ; non nul pour ne pas permettre le traitement par d�faut Return 0 ; z�ro pour permettre le traitement par d�faut Case $NM_RCLICK ; L'utilisateur a cliqu� le bouton droit de la souris � l'int�rieur du contr�le _DebugPrint("$NM_RCLICK" & @CRLF & "--> hWndFrom:" & @TAB & $hWndFrom & @CRLF & _ "-->IDFrom:" & @TAB & $iIDFrom & @CRLF & _ "-->Code:" & @TAB & $iCode) ; Return 1 ; non nul pour ne pas permettre le traitement par d�faut Return 0 ; z�ro pour permettre le traitement par d�faut Case $NM_RDBLCLK ; L'utilisateur a double-cliqu� le bouton droit de la souris � l'int�rieur du contr�le _DebugPrint("$NM_RDBLCLK" & @CRLF & "--> hWndFrom:" & @TAB & $hWndFrom & @CRLF & _ "-->IDFrom:" & @TAB & $iIDFrom & @CRLF & _ "-->Code:" & @TAB & $iCode) ; Return 1 ; non nul pour ne pas permettre le traitement par d�faut Return 0 ; z�ro pour permettre le traitement par d�faut Case $NM_RELEASEDCAPTURE ; Le contr�le est en train de mettre � jour la capture de la souris _DebugPrint("$NM_RELEASEDCAPTURE" & @CRLF & "--> hWndFrom:" & @TAB & $hWndFrom & @CRLF & _ "-->IDFrom:" & @TAB & $iIDFrom & @CRLF & _ "-->Code:" & @TAB & $iCode) ; Aucune valeur retourn�e EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==>WM_NOTIFY Func _DebugPrint($s_Text, $sLine = @ScriptLineNumber) ConsoleWrite( _ "!===========================================================" & @CRLF & _ "+======================================================" & @CRLF & _ "-->Line(" & StringFormat("%04d", $sLine) & "):" & @TAB & $s_Text & @CRLF & _ "+======================================================" & @CRLF) EndFunc ;==>_DebugPrint