UDF > GUI > GuiMonthCal >


_GUICtrlMonthCal_GetColorArray

Obtient la couleur d'une zone donnée d'un contrôle calendrier (tableau)

#include <GuiMonthCal.au3>
_GUICtrlMonthCal_GetColorArray ( $hWnd, $iColor )

Paramètres

$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.

Valeur de retour

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.

Remarque

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.

En relation

_GUICtrlMonthCal_Create

Exemple

#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