dbgrideh鼠标移动问题 同列内用鼠标移动不会触发OnColEnter事件,dataset的recno也不会变动只有在换到其他列的时候才会触发?怎么解决? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 OnColEnter当进入某一列时触发ColEnter/ColExit都是左右的。上下控制可以通过OnKeyDown或者OnAfterScroll OnKeyDown的话应该怎么处理?比如不允许第3行获得焦点 只有在DBGrid中点击切换行时,数据集中的指针(或称游标)才会移动到相应的行,所以光是移动,RecNo并不会变,因为RecNo指的是指针的位置(行),指针没动RecNo也就不变。 上一回贴我说的是鼠标移动(Move)不是点击(Click)。OnColEnter与OnColExit事件都是指焦点从一列点击到别一列时触发,也即左右列移到(点击)。而同一列中上下移动是不会触发的。可以通过下面的方法实现上下移动(点击)触发:var Form1: TForm1; OldRecNo: integer;implementation{$R *.dfm}procedure TForm1.DBGrid1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin if table1.RecNo <> OldRecNo then Button2.Caption := formatdatetime('h:m:s:zzz', now); OldRecNo := table1.RecNo;end; 只有在DBGrid中点击切换行时,数据集中的指针(或称游标)才会移动到相应的行,所以光是移动,RecNo并不会变,因为RecNo指的是指针的位置(行),指针没动RecNo也就不变。我鼠标移动是在同列内按下鼠标后向下拉,焦点也是随着移动变得,recno也变才对? 不可能啊。你加个事件看看有没有变:procedure TForm1.DBGrid1CellClick(Column: TColumn);begin Edit1.Text := IntToStr(Table1.RecNo);end; 没有click,只是那鼠标拖的时候经过,那条蓝线是随着鼠标移动 excel 不能完全退出 combobox设为csDropDownList不能写入TEXT 感谢为我女儿起名字的人,MaggieChen_csoftit() 欢迎D区来了个强人--牧野同志.特此散分迎接... query出现问题 一个错误提示?谁能解决? 怎样才能看到触发的事件 一个简单的dll问题 cs 结构的系统如何转型到多层结构的系统 ? 难道送高分!如何通过程序立即共享与不共享本地硬盘?!!! 一个关于DBGRID的问题!!!!!!!!!!!!! 救命!Help!!Data Controls上的控件(如DBGrid)与XPManifest有冲突?
ColEnter/ColExit都是左右的。上下控制可以通过OnKeyDown或者OnAfterScroll
Form1: TForm1;
OldRecNo: integer;implementation{$R *.dfm}procedure TForm1.DBGrid1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if table1.RecNo <> OldRecNo then
Button2.Caption := formatdatetime('h:m:s:zzz', now);
OldRecNo := table1.RecNo;
end;
我鼠标移动是在同列内按下鼠标后向下拉,焦点也是随着移动变得,recno也变才对?
你加个事件看看有没有变:procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
Edit1.Text := IntToStr(Table1.RecNo);
end;