全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1600
推到 Plurk!
推到 Facebook!

請問如何在StringGrid元件中畫線

尚未結案
shing.net
中階會員


發表:207
回覆:124
積分:66
註冊:2002-03-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-30 12:15:42 IP:61.218.xxx.xxx 未訂閱
請問如何在StringGrid元件中畫線(畫對角線) 謝謝
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-30 13:10:41 IP:220.131.xxx.xxx 未訂閱
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
 StringGrid1.Canvas.Pen.color := clBlack;
 StringGrid1.Canvas.Pen.width := 1;
 StringGrid1.Canvas.Moveto(0,0);
 StringGrid1.Canvas.Lineto(StringGrid1.ColWidths[0],StringGrid1.RowHeights[0]);     StringGrid1.Canvas.Brush.Color:=clBtnFace;
 StringGrid1.Canvas.TextOut(StringGrid1.ColWidths[0]-30,StringGrid1.RowHeights[0]-40,'星期');
 StringGrid1.Canvas.TextOut(StringGrid1.ColWidths[0]-60,StringGrid1.RowHeights[0]-20,'節次');
end;    procedure TForm1.FormCreate(Sender: TObject);
begin
 StringGrid1.DefaultColWidth:=64;
 StringGrid1.DefaultRowHeight:=48;
end;
 
網海無涯,唯學是岸!
shing.net
中階會員


發表:207
回覆:124
積分:66
註冊:2002-03-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-08-30 14:39:05 IP:61.218.xxx.xxx 未訂閱
如果我是要穿過對角所有Cells,因為我兩邊皆要畫對角線 但是我都畫不準 謝謝
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-08-30 15:58:56 IP:220.131.xxx.xxx 未訂閱
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
 StringGrid1.Canvas.Pen.color := clRed;
 StringGrid1.Canvas.Pen.width := 1;     //第一個對角線(左上到右下)
 StringGrid1.Canvas.Moveto(Rect.Left,Rect.Top);
 StringGrid1.Canvas.Lineto(Rect.Right,Rect.Bottom);     StringGrid1.Canvas.Pen.color := clBlue;
 StringGrid1.Canvas.Pen.width := 1;     //第二個對角線(右上到左下)
 StringGrid1.Canvas.Moveto(Rect.Right,Rect.Top);
 StringGrid1.Canvas.Lineto(Rect.Left,Rect.Bottom);
end;    procedure TForm1.FormCreate(Sender: TObject);
begin
 StringGrid1.DefaultColWidth:=64;
 StringGrid1.DefaultRowHeight:=48;
end;
 
網海無涯,唯學是岸!
shing.net
中階會員


發表:207
回覆:124
積分:66
註冊:2002-03-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-08-30 16:29:11 IP:61.218.xxx.xxx 未訂閱
對不起,我的敘述不清楚,只有通過中心點(StringGrid中心)繪出通過中心點之對角線,而非全部之Cells 謝謝
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-08-30 17:14:30 IP:220.131.xxx.xxx 未訂閱
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
 StringGrid1.Canvas.Pen.color := clRed;
 StringGrid1.Canvas.Pen.width := 1;     //第一個對角線(左上到右下)
 StringGrid1.Canvas.Moveto(0,0);
 StringGrid1.Canvas.Lineto(StringGrid1.Width 10,StringGrid1.Height);     StringGrid1.Canvas.Pen.color := clBlue;
 StringGrid1.Canvas.Pen.width := 1;     //第二個對角線(右上到左下)
 StringGrid1.Canvas.Moveto(StringGrid1.Width-5,0);
 StringGrid1.Canvas.Lineto(0,StringGrid1.Height-5);    end;    procedure TForm1.FormCreate(Sender: TObject);
begin
 StringGrid1.ColCount:=5;
 StringGrid1.RowCount:=5;
 StringGrid1.DefaultColWidth:=64;
 StringGrid1.DefaultRowHeight:= 24;
 StringGrid1.Width:=329;
 StringGrid1.Height:=129;
end;
 
網海無涯,唯學是岸!
shing.net
中階會員


發表:207
回覆:124
積分:66
註冊:2002-03-16

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-08-31 09:58:52 IP:203.204.xxx.xxx 未訂閱
我試過,還是不對準,我再試試看 謝謝
系統時間:2024-06-28 5:24:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!