Crée une boîte de dialogue Couleur qui permet à l'utilisateur de sélectionner une couleur
#include <Misc.au3>
_ChooseColor ( [$iReturnType = 0 [, $iColorRef = 0 [, $iRefType = 0 [, $hWndOwnder = 0]]]] )
$iReturnType | [optionnel] Détermine le type de retour, les valeurs valides sont: 0 - COLORREF couleur RGB 1 - BGR en hexadécimal 2 - RGB en hexadécimal |
$iColorRef | [optionnel] Couleur sélectionnée par défaut |
$iRefType | [optionnel] Type de $iColorRef passé, les valeurs valides sont: 0 - COLORREF couleur RGB 1 - BGR en hexadécimal 2 - RGB en hexadécimal |
$hWndOwnder | [optionnel] Handle de la fenêtre qui est propriétaire de la boîte de dialogue |
Succès: | Retourne la couleur sélectionnée par l'utilisateur |
Échec: | Retourne -1 |
#include <GUIConstantsEx.au3> #include <Misc.au3> #include <WindowsConstants.au3> Example() Func Example() Local $hGUI, $idCOLORREF, $idBGR, $idRGB, $idMemo $hGUI = GUICreate("_ChooseColor() Example", 400, 300) $idMemo = GUICtrlCreateEdit("", 2, 55, 396, 200, BitOR($WS_VSCROLL, $WS_HSCROLL)) GUICtrlSetFont($idMemo, 10, 400, 0, "Courier New") $idCOLORREF = GUICtrlCreateButton("COLORREF", 70, 10, 80, 40) $idBGR = GUICtrlCreateButton("BGR", 160, 10, 80, 40) $idRGB = GUICtrlCreateButton("RGB", 250, 10, 80, 40) GUISetState(@SW_SHOW) Local $iMsg Do $iMsg = GUIGetMsg() Switch $iMsg Case $idCOLORREF _ShowChoice($hGUI, $idMemo, 0, _ChooseColor(0, 255, 0, $hGUI), "Couleur COLORREF de votre choix: ") Case $idBGR _ShowChoice($hGUI, $idMemo, 1, _ChooseColor(2, 0x808000, 1, $hGUI), "Vouleur BGR Hex de votre choix: ") Case $idRGB _ShowChoice($hGUI, $idMemo, 2, _ChooseColor(2, 0x0080C0, 2, $hGUI), "Couleur RGB Hex de votre choix: ") EndSwitch Until $iMsg = $GUI_EVENT_CLOSE EndFunc ;==>Example Func _ShowChoice($hGUI, $idMemo, $iType, $iChoose, $sMessage) Local $sCr If $iChoose <> -1 Then If $iType = 0 Then ; Convertit COLORREF RVB pour cet exemple $sCr = Hex($iChoose, 6) GUISetBkColor('0x'& StringMid($sCr, 5, 2) & StringMid($sCr, 3, 2) & StringMid($sCr, 1, 2), $hGUI) Else GUISetBkColor($iChoose, $hGUI) EndIf GUICtrlSetData($idMemo, $sMessage & $iChoose & @CRLF, 1) Else GUICtrlSetData($idMemo, "L'utilisateur a annulé la sélection" & @CRLF, 1) EndIf EndFunc ;==>_ShowChoice