如何做到象速达一样在DBGrid的单元格右边添加一SpeedButton?(50分)

  • 主题发起人 主题发起人 ruder
  • 开始时间 开始时间
R

ruder

Unregistered / Unconfirmed
GUEST, unregistred user!
如题。
俺试过得到单元格的Rect然后把SpeedButton放到指定坐标处
但不行。SpeedButton在DBGrid里面没办法显示,是不是要设置什么属性?
谢谢
 
你是用什么格子的,一般的格子都支持!
 
就是delphi自带的DBGrid的啊
其实问题说的很明白
查找以前的帖子:
用语句实现一个dbgrid的columns,再动态的将button潜入到dbgrid的cell中去。
有下面的代码
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
if ((gdSelected in State) or (gdFocused in State)) then
begin
Button1.Visible := true;
Button1.Left := DBGrid1.Left + (Rect.Right - Button1.Width);
Button1.Top := DBGrid1.Top + Rect.Top; // - Button1.Width;
end
else
Button1.Visible := false;
end;

但我测试了不行 SpeedButton没办法显示在 DBGrid里
 
是的, SpeedButton不行,因为它不能移动到DBGrid的前面来
 
建议改为第三方控件,如
ExpressQuantumTreeList 4.01(ftp://202.117.210.28/file/qtree4.rar)
DevExpress QuantumGrid 4.5.2 (ftp://202.117.210.28/file/qgrid4.rar)
 
强烈推荐:TMS的:TADVStringGrid 你唯一的选择!!!
 
试过button没有,他可以吗
 
to dawnsoft:谢谢..
to whtsuperant:我唯一的选择?没那么夸张吧?
我把SpeedButton的parent属性设置成DBGrid后就可以显示在DBGrid里
但又有另一个问题
我单击选中某个cell后在右边出现了SpeedButton
但当我对某个cell数据编辑的时候delphi却对DBGrid重画了.我的SpeedButton也看不到了..
 
FOR D7的,谁想要就留下邮箱
 
cocoruder@163.com
谢谢..
 
算了,我太大了,而且我自己改过,你还是到这里下载吧
http://www.51delphi.com/delphi/soft?type=套件
 
多人接受答案了。
 
后退
顶部