MonthCalendar有Bold粗體的功能, 但可否修改Bold粗體的內定值(如顏色) |
尚未結案
|
yes123
一般會員 發表:5 回覆:6 積分:2 註冊:2004-09-17 發送簡訊給我 |
|
yes123
一般會員 發表:5 回覆:6 積分:2 註冊:2004-09-17 發送簡訊給我 |
各位大大:
我是發問題者,原來的構想是有一假日檔案,當MonthCalendar出現時,要把
有設定過假日的日期用粗體來表示,然後再讓user修改或新增新的假日,最後,
再將有粗體的日期,回寫資料庫,但經過這幾天的test發現MonthCalendar這個
元件並不適合這個Case, 經過在貴站尋找,發現用TCalendar搭配
12個TStringGrid可以較完整且解決我的問題,以下我就將在貴站找的相關資料
,整合如下(列出重要的procedure),有些寫法很笨,可不要偷偷的笑...... procedure TMainForm.FormShow(Sender: TObject);
var i,x,y:integer;
begin
Calendar.Year:=2005;
For i:= 1 to 12 do
begin
Calendar.Month:= i;
for x := 0 to 6 do
begin
for y := 0 to 6 do
begin
if i = 1 then SG1.Cells[x,y]:= Calendar.CellText[x,y];
if i = 2 then SG2.Cells[x,y]:= Calendar.CellText[x,y];
if i = 3 then SG3.Cells[x,y]:= Calendar.CellText[x,y]; .....共12個StringGrid end;
end;
end;
end; procedure TMainForm.SG1DblClick(Sender: TObject);
begin
With SG1 Do Begin
If Integer(Objects[Col,Row]) = 1 Then Begin // 如果該儲存格的Object 的值為1
Objects[Col,Row] := TObject(0); // 則把它改為 0
End Else Begin
Objects[Col,Row] :=TObject(1); // 否則把它設為 1
End;
End; end; procedure TMainForm.SG2DblClick(Sender: TObject);
begin
With SG2 Do Begin
If Integer(Objects[Col,Row]) = 1 Then Begin // 如果該儲存格的Object 的值為1
Objects[Col,Row] := TObject(0); // 則把它改為 0
End Else Begin
Objects[Col,Row] :=TObject(1); // 否則把它設為 1
End;
End; end; 寫..........................12次因為有12個StringGrid procedure TMainForm.SG1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
Obj : TstringGrid;
Begin
// 將Sender 轉型成TStringGrid 備用
Obj := TStringgrid(Sender);
// 要變換顏色的判斷
// 每個儲存格除了可以儲存畫面看得到的文字之外,StringGrid 還為每個儲存格提供了一個Object屬性可以你儲存TObject,
// 然而每個物件(TObject)其實就是個指標,也可看成一個整數值,所以只要檢查Object的屬性值(當然要轉型啦)如果為1代表改了顏色
// ,若為0則未改變顏色
If Integer(Obj.Objects[ACol,ARow]) = 1 Then Begin
Obj.Canvas.Brush.Color := clRed; // 設定背景顏色
End;
Obj.Canvas.FillRect(Rect); // 用Brush.color 填滿該儲存格
Obj.Canvas.TextOut(Rect.Left 2,Rect.Top 2,Obj.Cells[ACol,ARow]); // 畫出顯示的文字
End;
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |