DBGRID CAPTION變成兩行問題 |
答題得分者是:hagar
|
david753
一般會員 發表:19 回覆:22 積分:8 註冊:2004-07-20 發送簡訊給我 |
之前已有人發表如何將DBGRID得COLUMN.CAPTION改為兩行但是我實在看不懂
請問以下的程式碼要如何IMPLEMENT於自己的程式中
因為我的CAPTION也很長
我希望可以將他切成兩行表示 =====================================
參考: 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;
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
還是您什麼方面的問題?
type TAccessDBGrid = class(TDBGrid); // 這部份可宣告在 interface 的 uses 下面 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; Canvas.Brush.Style := bsClear; Column.Title.Caption := ''; // 利用欄位名稱(Field Name)當 Title S1 := Copy(Column.FieldName, 1, 8); // 如果是中文的話要另外截, 避免把中文字切斷了 S2 := Copy(Column.FieldName, 9, 8); // write title: Canvas.TextOut(Rect.Left 2, 2, S1); Canvas.TextOut(Rect.Left 2, 16, S2); end; end;-- 歡迎光臨 KTop 研究院! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |