首页 > 学院 > 开发设计 > 正文

如何实现应用程序中的”回车”成TAB?

2019-11-18 18:37:47
字体:
来源:转载
供稿:网友
 如何实现应用程序中的”回车”成TAB?
也就是说当按Enter键的时候,产生的效果是按了Tab键. 
下面是我经常使用的方法:
在你的数据模块中,添加如下代码:
interface
  。。。。。。
  type
    TMessageHandler = class     //使得回车消息转换成Tab消息
      class PRocedure AppMessage(var Msg:TMsg;var Handled:Boolean);
end; 
implementation
 
class procedure TMessageHandler.AppMessage(var Msg: TMsg; var Handled: Boolean);
begin
  if Msg.message=WM_KEYDOWN then
    if (Msg.wParam=VK_RETURN ) and
      (
        (Screen.ActiveForm.ActiveControl is TEdit) or               
        (Screen.ActiveForm.ActiveControl is TComboBox) or
        (Screen.ActiveForm.ActiveControl is TCheckBox) or
        (Screen.ActiveForm.ActiveControl is TRadioButton)
              //可以添加需要的控件
      )
    then
    begin
      Msg.wParam:=VK_TAB;
    end
    else if (Msg.wParam=VK_RETURN) and
      (
       (Screen.ActiveForm.ActiveControl is TDBGrid)
      )
    then
    begin
      with Screen.ActiveForm.ActiveControl do
      begin
        if Selectedindex<(FieldCount-1) then
          Selectedindex:=Selectedindex+1{ 移动到下一字段}
        else
          Selectedindex:=0;
      end;
    end;
end;
为了使得整个应用程序都能够实现主要的功能,在主窗体的OnCreate事件中添加如下代码: 
procedure TfmMain.FormCreate(Sender: TObject);
begin
    application.OnMessage:=TMessageHandler.AppMessage;
end; 
到此为止,你的应用程序已经实现了这个Enter->Tab的转换.


上一篇:如何在启动机器时自动运行adsl拨号(1)

下一篇:用XML做为数据存贮格式

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
学习交流
热门图片

新闻热点

疑难解答

图片精选

网友关注