Function Reference

_GUICtrlMonthCal_GetColorArray

カレンダーコントロールの指定された部分の色を取得します。

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

 

パラメータ

$hWnd コントロールのハンドル
$iColor どのカレンダーコントロールの色を取得するかを指定するINT型の値
この値は次のいずれかです:
$MCSC_BACKGROUND - 月の間に表示される背景色を取得します
$MCSC_MONTHBK - 月内の背景色を取得します
$MCSC_TEXT - 月内のテキスト表示に使用される色を取得します
$MCSC_TITLEBK - カレンダータイトルの背景色を取得します
$MCSC_TITLETEXT - カレンダータイトル内のテキスト表示に使用される色を取得します
$MCSC_TRAILINGTEXT - 初日と末日のテキスト表示に使用される色を取得します

 

返し値

成功: 次のフォーマットの配列:
    [0] - 返された数を格納しています
    [1] - COLORREFでのRGB色を格納しています
    [2] - 16進数でのBGR色を格納しています
    [3] - 16進数でのRGB色を格納しています
失敗: False

 

注意

初日、末日とは現在の月のカレンダーに現れる前月、来月の日付けのことです。

 

関連

_GUICtrlMonthCal_Create

 


#AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#include <GuiConstantsEx.au3>
#include <GuiMonthCal.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>

Opt('MustDeclareVars', 1)

$Debug_MC = False ; MonthCal関数に渡されるClassNameを調べる。動作を確認するにはTrueを設定し、他のコントロールのハンドルを使用

Global $iMemo

_Main()

Func _Main()
    Local $hMonthCal

    ; GUIを作成
    GUICreate("Month Calendar Get Color Array", 425, 300)
    $hMonthCal = GUICtrlCreateMonthCal("", 4, 4, -1, -1, $WS_BORDER, 0x00000000)
   
    ; メモコントロールを作成
    $iMemo = GUICtrlCreateEdit("", 4, 168, 417, 128, BitOR($WS_VSCROLL, $ES_MULTILINE))
    GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
    GUICtrlSendMsg($iMemo, $EM_SETREADONLY, True, 0)
    GUICtrlSetBkColor($iMemo, 0xFFFFFF)
    GUISetState()

    _GUICtrlMonthCal_SetColor($hMonthCal, $MCSC_MONTHBK, $CLR_MONEYGREEN)

    ; カレンダーの色を取得/設定s
    MemoWrite(_FormatOutPut("Background color displayed between months:", _GUICtrlMonthCal_GetColorArray($hMonthCal, $MCSC_BACKGROUND)))
    MemoWrite(_FormatOutPut(@CRLF & "Background color displayed within the month:", _GUICtrlMonthCal_GetColorArray($hMonthCal, $MCSC_MONTHBK)))
    MemoWrite(_FormatOutPut(@CRLF & "Color used to display text within a month:", _GUICtrlMonthCal_GetColorArray($hMonthCal, $MCSC_TEXT)))
    MemoWrite(_FormatOutPut(@CRLF & "Background color displayed in the calendar's title:", _GUICtrlMonthCal_GetColorArray($hMonthCal, $MCSC_TITLEBK)))
    MemoWrite(_FormatOutPut(@CRLF & "Color used to display text within the calendar's title:", _GUICtrlMonthCal_GetColorArray($hMonthCal, $MCSC_TITLETEXT)))
    MemoWrite(_FormatOutPut(@CRLF & "Color used to display header day and trailing day text:", _GUICtrlMonthCal_GetColorArray($hMonthCal, $MCSC_TRAILINGTEXT)))

    ; ユーザーが終了するまでループ
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>_Main

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

; メモ帳にメッセージを書き込む
Func MemoWrite($sMessage)
    GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite