怎样实现在DBGrid每条记录可中加入TButton 控件?
解决方案 »
- 请问怎样制作像qq一样可以自检木马或病毒的功能?
- 请教一个Delphi编写ActiveX的初级问题,请人帮助!
- 我用Delphi写了一个DLL封装一个登录窗口老出问题。知道的高手进来瞅瞅
- delphi6+ADO+SQLSEVER2000 的发布
- 怎样用IDTCPClient下载文件?
- 我的老公,回想篇(1)---------放分:)
- 在quickreport中使用两个以上dataset的方法,一定给分啊
- 急!有关报表输出问题?(有原代码)请问为何定义部分有问题????
- ★★ 真心付出,人民币500+专家分4000等你拿,并有源程序交换,帮我UP者,我也会给他一些源程序,呵呵,不过你要写明要那方面的 ★★
- 如何使用TPrinter达到这样的效果???
- 怎样把数据库备份和恢复!谢谢!!
- 在线程中,能否打开ClientDataSet数据集???
1.设置Column的ButtonStyle为cbsEllipsis,则该列出现代“...“的按钮,点击是时触发DBGrid的OnEditButtonClick事件。
2.也可以设置Column的PickList属性,该列将显示一个压缩框。
处理自绘事件(第三列显示Button,文字靠左,上下居中):
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
s:string;
begin
with DBGrid1 do
if DataCol=2 then
begin
s:=Column.Field.AsString;
DrawFrameControl(Canvas.Handle,Rect,DFC_BUTTON,DFCS_BUTTONPUSH);
SetBkMode(Canvas.Handle,TRANSPARENT);
Canvas.TextOut(
Rect.Left+4,
Rect.Top+(Rect.Bottom-Rect.Top-Canvas.TextHeight('s'))div 2,
s);
end;
end;
Canvas.TextOut(
Rect.Left+4,
Rect.Top+(Rect.Bottom-Rect.Top-Canvas.TextHeight(s))div 2,
s);