掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
MonthCalendarで特定の曜日の色を変える方法 (ID:31594)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
なぜか上手くいかないので、ソースを貼りつけさせて頂きます。 TMonthCalendarを一個貼りつけて、Tmemoを二つ貼りつけて TmonthCalenderのOnGetMonthinfoイベントに下記のソースを貼りつけたら使えます。 mae_Monthが正しく動いてない感じなんですよね。意見頂けると嬉しいです!! private { Private 宣言 } mae_month,Month_i:integer; procedure TForm1.MonthCalendar1GetMonthInfo(Sender: TObject; Month: Cardinal; var MonthBoldInfo: Cardinal); const week: array[1..7] of string = ('日曜日','月曜日','火曜日','水曜日','木曜日', '金曜日','土曜日'); var d, today: TDateTime; iw: integer; Day_I,Seireki_I:integer; begin //==================================================== //定休日を太字にする //==================================================== memo1.Clear; Seireki_I:=strtoint(copy(DateToStr(MonthCalendar1.date),0,4)); Mae_month:=Month_I; Month_i:=Month; //Month_i:=strtoint(copy(DateToStr(MonthCalendar1.date),6,2)); if (Mae_month=12) and (Month_I=1) then begin inc(seireki_I); end; if (Mae_Month=1) and (Month_i=12) then begin dec(seireki_I); end; d := VarToDateTime(inttostr(Seireki_I)+'年'+inttostr(Month_i)+'月'+'1日'); iw := 0; repeat inc(iw); until week[iw] ='月曜日'; while DayOfWeek(d) <> iw do d := d+1; case Month_I of 1,3,5,7,8,10,12: begin Day_I:=31; end; 2:begin Day_I:=28; end; 4,6,9,11: begin Day_I:=30; end; end; today := VarToDateTime(inttostr(Seireki_I)+'年'+inttostr(Month_I)+'月'+inttostr(Day_I)+'日'); while d<=today do begin Memo1.Lines.Add(DateTimeToStr(d)); d := d+7; end; memo2.clear; //太字にする for iw:=0 to Memo1.Lines.Count-1 do begin memo2.Lines.add(copy(memo1.lines.strings[iw],9,2)); end; //=========================================== //太字にする if Memo1.Lines.Count=4 then begin MonthCalendar1.BoldDays([strtoint(memo2.lines.strings[0]),strtoint(memo2.lines.strings[1]),strtoint(memo2.lines.strings[2]),strtoint(memo2.lines.strings[3])], MonthBoldInfo); end; if Memo1.Lines.Count=5 then begin MonthCalendar1.BoldDays([strtoint(memo2.lines.strings[0]),strtoint(memo2.lines.strings[1]),strtoint(memo2.lines.strings[2]),strtoint(memo2.lines.strings[3]),strtoint(memo2.lines.strings[4])], MonthBoldInfo); end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.