如何实现enter(回车键)跟tab键的效果一样,在回车时自动使Taborder比自己大1的物件获得焦点~~如果大1的物件visible=false在继续往下给焦点????
解决方案 »
- 恭喜95喜得千金
- 请问thandle 和 cardinal类型是否相同?creatprocess里面的pi.hprocess及pi.hthead是进程及线程的句柄,可是为什么都是cardinal类型呢?
- 简单送分问题:怎样写操作ACCESS的DELETE语句
- 快救救小女子吧,这个问题不解决就毕不了业了(关于一条记录的打印预览)
- 怎样在自己做的控件上加上About对话框??
- 为什么在我建立的 MDI application中,编译的时候老说找不到aboutbox
- 求助 缺少rtl70.bpl问题
- 如何使某一个edit控件的tab键无效
- 如何使用isempty()
- dblookupcomboboxeh里面显示多列数据时获取多列数据方法?
- delphi关闭窗体时cpu 100%的问题,急!!!
- 我在做一个分布式系统,可是客户端修改了数据后,更新不到数据库中,请问大家应如何做更新呢?
begin
if key=#13 then
begin
if not (Activecontrol is Tmemo) then
begin
key:=#0;
keybd_event(vk_tab,mapvirtualkey(vk_tab,0),0,0);
end;
end;end;
procedure TFmXXX.OnSimulateTabKey(Sender: TObject; var Key: word; Shift : TShiftState);
begin
if ((Key = VK_DOWN) or (Key = VK_RETURN)) then
self.Perform(WM_NEXTDLGCTL, 0, 0) //下移
else if (Key = VK_UP) then
self.Perform(WM_NEXTDLGCTL, 1, 0); //上移
end;
end;//初始化
procedure TFmXXX.FormCreate(Sender: TObject);
begin
self.OnKeyDown := OnSimulateTabKey;
end;
begin
if key=#13 then
begin
if not (Activecontrol is Tmemo) then
begin
key:=#0;
keybd_event(vk_tab,mapvirtualkey(vk_tab,0),0,0);
end;
end; end;
Shift: TShiftState);
begin
if Key = VK_RETURN then
PostMessage(Handle, WM_KEYDOWN, VK_TAB, 0);
end;
if key=#13 then
下一个控件.setfucse;
就可以了。前几天刚学会,试一下,可以就给分。。
If Key = #13 Then SelectNext(TwinControl(Sender), True, True);然后在其它的控件的onkeypress里直接选上一个控件的名称就可以了。不用一个一个都写,很方便