請教DBGrid元件顯示的標題問題 |
尚未結案
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
參考: http://www.swissdelphicenter.ch/en/showcode.php?id=1653
type TAccessDBGrid = class(TDBGrid); procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var S1, S2: String; begin with TAccessDBGrid(DBGrid1) do begin // Increase title height // Titelhöhe vergrössern RowHeights[0] := 32; Canvas.Brush.Style := bsClear; // Column Titles // Spalten Titel setzen case Column.Index of 0: begin Column.Title.Caption := ''; S1 := 'Row 1'; S2 := 'Row 2'; end; 1: begin Column.Title.Caption := ''; S1 := 'Row 1'; S2 := 'Row 2'; end; end; // write title: // Titel ausgeben: Canvas.TextOut(Rect.Left 2, 2, S1); Canvas.TextOut(Rect.Left 2, 16, S2); end; end;--- 歡迎光臨 KTop 研究院 |
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
guohua_fu
一般會員 發表:44 回覆:50 積分:18 註冊:2003-06-19 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
Title 劃線部份參考紅色部份的碼, 而文字就參考原來的部份做:
type TAccessDBGrid = class(TDBGrid); procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var S1, S2: String; begin with TAccessDBGrid(DBGrid1) do begin RowHeights[0] := 32; case Column.Index of 0: begin Column.Title.Caption := ''; S1 := 'Row 1'; S2 := 'Row 2'; end; 1: begin Column.Title.Caption := ''; S1 := 'Row 1'; S2 := 'Row 2'; end; end; Canvas.Brush.Style := bsClear; Canvas.TextOut(Rect.Left 2, 2, S1); Canvas.TextOut(Rect.Left 2, 16, S2); end; with DBGrid1 do if Rect.Top = 33 then begin // 只劃 Title 這一 row, 33 值是因為在上面指定第一 row 的高度為 32 Canvas.Pen.Color := clBlack; // 指定畫筆的顏色 Canvas.Pen.Width := 1; // 指定畫筆的粗細 // Title 畫分為上下兩格的那條橫線 Canvas.MoveTo(Rect.Left, 16); // 畫線的起點 Canvas.LineTo(Rect.Right, 16); // 畫線的終點 // Title 下半部畫分為左右兩格的那條直線 Canvas.MoveTo(Rect.Left (Rect.Right - Rect.Left) div 2, Rect.Top div 2); Canvas.LineTo(Rect.Left (Rect.Right - Rect.Left) div 2, Rect.Top); end; end;--- 歡迎光臨 KTop 研究院 發表人 - |
chfamy
中階會員 發表:87 回覆:161 積分:54 註冊:2002-05-03 發送簡訊給我 |
|
guohua_fu
一般會員 發表:44 回覆:50 積分:18 註冊:2003-06-19 發送簡訊給我 |
|
chfamy
中階會員 發表:87 回覆:161 積分:54 註冊:2002-05-03 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
hornacek
一般會員 發表:29 回覆:76 積分:21 註冊:2004-02-02 發送簡訊給我 |
引言: 要用InfoPower方達成,絕無廣告嫌疑,因為我是用InfoPower4000, 全部欄位型態都可,還可用Master-Detail顯示資料(我沒用),詳細 請查該公司網站http://www.woll2woll.com/只是便宜. >>< face="Verdana, Arial, Helvetica"> 請問一下,這個把title分成兩半要如何用程式碼完成? 我也是使用infopower,因為我要動態改變表格, 但不知道要如何做?請問有範例可以參考嗎?謝謝! 發表人 - |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |