关于dbgrideh光标为什么有时向下(按回车时),而不是向右(50分)

  • 主题发起人 主题发起人 brainpower
  • 开始时间 开始时间
B

brainpower

Unregistered / Unconfirmed
GUEST, unregistred user!
按回车时,有时光标是向右的,而有时光标却跑向下,请问是为什么?
 
其實dbgrid是與Table一起使用的,也就是說你在dbgrid裡面向下移動一行也就相當於
你在Table裡面做了一個next動作,而向右移動的時候,你針對的隻是Table裡面的同一
條記錄,因此,你要光標在dbgrid裡向下移時做一個Table.next動作就OK啦!擔是向右
移動時你可以在dbgrid的keydown事件裡寫上一句“if key=13 then postmessage(
dbgrid1.handle,Wm_keydown,9,0)”同樣也就搞定!
 
看下面代码:
procedure TFrmlr.DBGEhKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
with q do
begin
if key=13 then
begin
if rb1.Checked then //控制光标向下还是向右
begin
if dbgeh.SelectedField.ReadOnly then
key:=9
else
if Eof then
begin
key:=9;
First;
end
else
next;
end
else
key:=9;
end;
end;
end;
 
请注意:
1.我是使用的是ehlib的dbgrideh控件。
2.dbgrideh控件有一个属性:EnterAsTab若置为真的话,那么光标就会向右移了
但是就出现了“按回车时,有时光标是向右的,而有时光标却跑向下”
3.to:xiaoyong,我且用你的方法试一下。
4.再问:delphi的属性编辑框object inspector可不可以美化:
比如只出现我修改过和属性,或全部属性,预设好象只有按类别显示。
 
我上面的代码原控件就是dbgrideh !
 
不行啊,兄弟们
 
如果你动态隐藏和显示一些列或动态改变表头标题,可能会出现光标下移的现象,请检查!
 
to:luweizhong
说的可能有道理我回去试一下.
你有碰到这种情况吗?
 
后退
顶部