分享

快速上手Delphi三十六计之输入处理篇

 aaie_ 2012-10-20
快速上手Delphi三十六计之输入处理篇
Delphi是Borland公司开发的可视化开发系统,它基于Windows 95/98/NT,采用高度结构化的Object Pascal语言,具有结构清晰、高效优化的特点。尤其,最新版Delphi5.0更以其良好的可视化应用程序开发环境以及其强大的可扩展数据库功能而倍 受广大编程爱好者和专业程序员青睐。在编程界流行的“真正的程序员用VC, 聪明的程序员用Delphi”之说,足见其为大家认可的程度。现将收集的Delphi常用技巧收录如下,以享广大Delphi爱好者:

输入处理篇

1. 获取键盘滚动锁, 插入态, 大写锁, 数字锁的开关状态


//Virtual =Vk_Scroll或Vk_capital或Vk_NUMLock或Vk_Insert

function FuncKeyOn(VirtualKey: Word): Boolean;

begin

  Result := Bool(GetKeyState(VirtualKey) and 1);

end;
2. 当用户按下Enter/Up/Down键时使焦点切换到下一个聚焦对象


//设置窗体的KeyPriview属性为True, 并写入如下代码:


procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);

begin

 if Key = #13 then

 begin

  SendMessage(Handle, WM_NEXTDLGCTL, 0, 0);

  Key := #0;

 end;

end;

procedure

TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);

Begin

  If Key=Vk_Up then SendMessage(Handle, Wm_NextDlgCtl, 1, 0);

  If Key=Vk_Down then SendMessage(Handle, Wm_NextDlgCtl, 0, 0);

end;
3. 取得鼠标的绝对位置和设置鼠标的绝对位置


function GetMousePos: Tpoint;

Begin

 GetCursorPos(ThePoint);

End;

Procedure SetMousePos(X, Y: Word);;

 var

  Tp: Tpoint;

begin

  Tp := ClientToScreen(Point(x, y));

  SetCursorPos(tp.x, tp.y);
end;

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多