如何在dbgrid的column中放入一個button |
答題得分者是:Rain
|
huangeider
高階會員 發表:288 回覆:492 積分:231 註冊:2003-02-26 發送簡訊給我 |
|
Rain
資深會員 發表:31 回覆:236 積分:268 註冊:2003-02-17 發送簡訊給我 |
在DBGrid中加入一個按鈕通常是設置相應的其Column(雙擊DBGrid添加)的ButtonStyle屬性為cbsEllipsis,然後在DBGrid的OnEditButtonClick事件中寫代碼即可。
另一種方法是自己畫,在OnDrawColumnCell事件中處理,例
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
R: TRect;
begin
if DataCol = 1 then
begin
with Sender as TDBGrid do
begin
R := Rect;
//Canvas.FillRect(Rect);
//InflateRect(R, -1, -1);//減小區域
DrawFrameControl(Canvas.Handle, R, 0, 0);
end;
end;
end;
|
huangeider
高階會員 發表:288 回覆:492 積分:231 註冊:2003-02-26 發送簡訊給我 |
引言: 在DBGrid中加入一個按鈕通常是設置相應的其Column(雙擊DBGrid添加)的ButtonStyle屬性為cbsEllipsis,然後在DBGrid的OnEditButtonClick事件中寫代碼即可。 另一種方法是自己畫,在OnDrawColumnCell事件中處理,例 procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var R: TRect; begin if DataCol = 1 then begin with Sender as TDBGrid do begin R := Rect; //Canvas.FillRect(Rect); //InflateRect(R, -1, -1);//減小區域 DrawFrameControl(Canvas.Handle, R, 0, 0); end; end; end;謝謝 aric |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |