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

来源:互联网 发布:网络部署图 编辑:程序博客网 时间:2024/05/21 06:26
快速上手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);