怎样才能让dbgrid1中的小按钮(cbsEllipsis)自动出现?----有解吗? 急! (50分)

  • 主题发起人 主题发起人 mo
  • 开始时间 开始时间
M

mo

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样才能让dbgrid1中的小按钮(buttonstyle:=cbsEllipsis)自动出现(跟双击的效果一样)?
能在OnColEnter事件中实现吗? ( 是不是要摸拟双击?那该怎么做? )
 
在属性里有
 
TO:花 儿
请说说是什么属性?先谢了
 
怎么没人答了?
 
请好好找找其属性,里面有的
 
我已找了好久的啦,但就是找不到啊

我现在要的是在dbgrid1单击时或OnColEnter事件写代码
也能产生在dbgrid1双击的效果的效果啊
(设buttonstyle:=cbsEllipsis我当然知道)
 
是不是太简单了?
怎么在线等这么久都没人答
 
可能是dbgrid.cols.buttonstyle
 
是"dbgrid1.columns[x].buttonstyle := cbsEllipsis;"吗?
这句只能说明在这列击两次才能显示小按钮啊,
我要的是击一次就显示或都说直接代码控制,一次都不要击就能显示小按钮


 
本来在DBGRID要击两次才会显示那个小按钮的吧,

但我想当用户激活那列时,小按钮就显示,这样可以提示用户的

大侠们,我等得心急啊
 
您可以试试Ehlib控件,其功能可比DBGrid多得多。下载:http://211.100.17.210:208/DownLoad/Controls/Ehlib 2.2.rar
 
不用第三方控件,能不能实现的?
因为若改的话,我还有很多代码要改了
 
在DbGrids.pas中的PaintWindow(DC:HDC)事件中,进行了cbsEllipsis类型按钮的显示
但到底这个事件如何触发,我正在努力。
 
TO:zlj555
等你的好消息:)
 
有一了点进展
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if DataCol = 4 then
begin
Column.Grid.EditorMode := true;
end;
end;
 
试了下可以调出小按钮了,但还要改进一下,
(这样,常常会把上一记录的数据显示到本记录上来,要到它的交点不在此位置才消失)

等你的好消息:)

 
实际上你把options里面的dgalwaysshowedit设置为真
进入列就能显示了
 
TO:OnlyYou

你这办法是可行的,但这样一改,在DBGRID里按TAB键时,只能走到当前列的下一记录,
怎么样才能让TAB键可向右列移动呢?

希望大家继续关注,谢谢了
 
先把dbgrid中的column中的ButtonStyle改为cbsEllipsis,然后在程序中写
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (State=[gdSelected,gdFocused]) then
begin
Column.Grid.EditorMode := true;
end;
end;
D6+Win2k编译通过
 
TO:peihexian
你这办法是可行的,但这样一改,在DBGRID里按TAB键时,只能走到当前列的下一记录,
怎么样才能让TAB键可向右列移动呢?

希望大家继续关注,谢谢了

 
后退
顶部