> 1、如何设置按回车键相当于单click?(例如在dbgrid表格中)(100分)

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

monkeycn

Unregistered / Unconfirmed
GUEST, unregistred user!
> 1、如何设置按回车键相当于单click?
 
DBGrid1.Perform(WM_MOUSELBUTTONDOWN,0,0)
then
DBGrid1.Perform(WM_MOUSELBUTTONUP,0,0)
 
对楼上的补充。
在DBGrid的KeyPress时间中判断。
if Key=#13 then
begin
DBGrid1.Perform(WM_MOUSELBUTTONDOWN,0,0)
DBGrid1.Perform(WM_MOUSELBUTTONUP,0,0)
end;
 
设置KEYPRESS事件
 
两位能解释一下这两句是什么意思吗?
DBGrid1.Perform(WM_MOUSELBUTTONDOWN,0,0)
DBGrid1.Perform(WM_MOUSELBUTTONUP,0,0)
 
我也想知什么意思?
 
向DBGrid发送鼠标消息
WM_MOUSELBUTTONDOWN 是左键按下
WM_MOUSELBUTTONUP 是左键释放
两次操作完成一次Click,
 
也可以这样写
procedure TForm1.DBGrid1KeyPress(Sender: TObject;
var Key: Char);
begin
if Key = Char(VK_RETURN) then
begin
mouse_event(MOUSEEVENTF_LEFTDOWN,0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
end;
end;
 
在回车事件处理过程中这样写
if key = vk_return then
dbgrid1.onclick(sender:tobject);
就是在这个过程中调用ONCLICK过程;
 
在一个FORM 里面
procedure TForm1.FormKeyDown(Sender: TObject;
var Key: Word;
Shift: TShiftState);
begin
if key=vk_return then
FormClick(Sender);
end;
 
同意y!!!zhshi。lukejee也不错!
 
to lukejee 你的if Key = Char(VK_RETURN) then
可能不对,VK_XXX定义的一组常量
好象与ASCII码不对应,你试试
 

Similar threads

回复
0
查看
658
不得闲
S
回复
0
查看
743
SUNSTONE的Delphi笔记
S
S
回复
0
查看
624
SUNSTONE的Delphi笔记
S
S
回复
0
查看
955
SUNSTONE的Delphi笔记
S
S
回复
0
查看
777
SUNSTONE的Delphi笔记
S
顶部