上記のサイトを参考に指定したカレンダーコントロールの指定した日付を強調表示するスクリプトを書いていたのですが
行き詰ってしまいました。
どなたか解りましたらお願いします。
#const global MCS_DAYSTATE 1 ; MCN_GETDAYSTATEメッセージを送ってどの日をボールドにするかを指定できます。 #const global MCM_GETTODAY 0x100d ; 「今日」の日付を取得 #const global MCM_GETCURSEL 0x1001 ; 現在選択されている日付を取得 #const global MCM_SETDAYSTATE $00001008 ; 指定した日付を強調表示する。 #const global MCN_SELECT -746 ; 日付に選択されたことを親に通知します。 #const global MCN_GETDAYSTATE $FFFFFD15 ; 予定表コントロールの各日に関する情報を または 表示するか月の情報を送信します。 #define xsize 218 ;windowサイズ #define ysize 188 ; カレンダーコントロールの設置。 ; MCS_DAYSTATEにて、日付強調表示の実行 ; (ページがシフトした際に必要な情報を返す。MCN_GETDAYSTATE 親にを送信するようにする) ; MCN_GETDAYSTATE が受け取る情報のメンバ ; nmhdr : この通知メッセージに関する情報を含む NMHDR 構造体。 ; stStart : 開始日を格納する SYSTEMTIME 構造体。 ; cDayState : prgDayState 配列内の指定要素の合計数を指定する INT 値。 ; prgDayState : MONTHDAYSTATE 値の配列のアドレス。 ; bufferがこのアドレスで格納できるだけの大きさである必要があります ; cDayState 要素。配列内の最初の要素を stStart での日付に対応します winobj"SysMonthCal32","タイトル" , , $50000000 | MCS_DAYSTATE , xsize , ysize hmcal = objinfo_hwnd(stat) , stat dim MONTHDAYSTATE,100788 oncmd gosub *msg_WM_NOTIFY , WM_NOTIFY stop *msg_WM_NOTIFY dupptr NMHDR, lparam, 4*3 logmes strf("0x%08x,0x%08x,0x%08x",nmhdr(0),nmhdr(1),nmhdr(2)) ; MCN_GETDAYSTATE if nmhdr(2) = MCN_GETDAYSTATE { ;最終的には指定した日付を太字で表示できるようにしたい。 dim pDayState, 9 dupptr pDayState , lparam , 9*4 repeat pDayState(7) pDayState(8)=0 pDayState(8) |= 1<<3;三日を強調表示してみる loop ;get(8) = 0 ;sendmsg hmcal , MCM_SETDAYSTATE , cnt , varptr(MONTHDAYSTATE) } return