Obtient la couleur d'une zone donnée d'un contrôle calendrier (tableau)
#include <GuiMonthCal.au3>
_GUICtrlMonthCal_GetColorArray ( $hWnd, $iColor )
$hWnd | ID ou handle du contrôle Month Calendar |
$iColor | Valeur de type int spécifiant la couleur à récupérer Cette valeur peut être l'une des suivantes: $MCSC_BACKGROUND - Couleur de fond qui apparaît entre les mois $MCSC_TEXT - Couleur utilisée pour afficher le texte dans un mois $MCSC_TITLEBK - Couleur du fond utilisée dans le titre du calendrier $MCSC_TITLETEXT - Couleur du texte utilisée dans le titre du calendrier $MCSC_MONTHBK - Couleur du fond qui apparaît dans le mois $MCSC_TRAILINGTEXT - Couleur utilisée pour les jours de la fin du mois précédent et du début du mois suivant. |
Succès: | Retourne un tableau dans le format suivant: [0] - contient le nombre de retour [1] - contient la couleur COLORREF RGBColor [2] - contient la couleur Hex BGR [3] - contient la couleur RGB Hex |
Échec: | Définit @error <> 0. |
Les jours d'entête et de terminaison sont les jours qui proviennent du mois précédent et du mois suivant qui apparaissent sur le calendrier du mois courant.
#include <ColorConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <GuiMonthCal.au3> #include <MsgBoxConstants.au3> #include <WindowsConstants.au3> Global $g_idMemo Example() Func Example() Local $idMonthCal ; Crée une GUI GUICreate("Month Calendar Get Color Array", 425, 300) $idMonthCal = GUICtrlCreateMonthCal("", 4, 4, -1, -1, $WS_BORDER, 0x00000000) ; Crée un contrôle memo $g_idMemo = GUICtrlCreateEdit("", 4, 168, 417, 128, BitOR($WS_VSCROLL, $ES_MULTILINE)) GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New") GUICtrlSendMsg($g_idMemo, $EM_SETREADONLY, True, 0) GUICtrlSetBkColor($g_idMemo, 0xFFFFFF) GUISetState(@SW_SHOW) _GUICtrlMonthCal_SetColor($idMonthCal, $MCSC_MONTHBK, $CLR_MONEYGREEN) ; Obtient/Définit les couleurs du calendrier MemoWrite(_FormatOutPut("Couleur de fond affichée entre les mois:", _GUICtrlMonthCal_GetColorArray($idMonthCal, $MCSC_BACKGROUND))) MemoWrite(_FormatOutPut(@CRLF & "Couleur de fond affichée entre les mois:", _GUICtrlMonthCal_GetColorArray($idMonthCal, $MCSC_MONTHBK))) MemoWrite(_FormatOutPut(@CRLF & "Couleur utilisée pour afficher le texte dans le mois:", _GUICtrlMonthCal_GetColorArray($idMonthCal, $MCSC_TEXT))) MemoWrite(_FormatOutPut(@CRLF & "Couleur du fond utilisée pour afficher le titre du calendrrier:", _GUICtrlMonthCal_GetColorArray($idMonthCal, $MCSC_TITLEBK))) MemoWrite(_FormatOutPut(@CRLF & "Couleur d'écriture utilisée pour afficher le titre du calendrrier:", _GUICtrlMonthCal_GetColorArray($idMonthCal, $MCSC_TITLETEXT))) MemoWrite(_FormatOutPut(@CRLF & "Couleur utilisée pour afficher les jours de la fin du mois précédent et du début du mois suivant:", _GUICtrlMonthCal_GetColorArray($idMonthCal, $MCSC_TRAILINGTEXT))) ; Boucle jusqu'à ce que l'utilisateur quitte. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE GUIDelete() EndFunc ;==>Example Func _FormatOutPut($sText, $aColors) Return $sText & _ @CRLF & @TAB & "COLORREF rgbcolor:" & @TAB & $aColors[1] & _ @CRLF & @TAB & "Hex BGR color:" & @TAB & @TAB & $aColors[2] & _ @CRLF & @TAB & "Hex RGB color:" & @TAB & @TAB & $aColors[3] EndFunc ;==>_FormatOutPut ; Ecrit un message dans le contrôle memo Func MemoWrite($sMessage) GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1) EndFunc ;==>MemoWrite