線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1142
推到 Plurk!
推到 Facebook!

DBGRID CAPTION變成兩行問題

答題得分者是:hagar
david753
一般會員


發表:19
回覆:22
積分:8
註冊:2004-07-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-24 12:01:49 IP:210.68.xxx.xxx 未訂閱
之前已有人發表如何將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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-24 12:53:24 IP:202.39.xxx.xxx 未訂閱
還是您什麼方面的問題?
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 研究院!
系統時間:2024-05-24 3:04:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!