源码:通过鼠标停靠,取鼠标所在位置的控件类名的示范实例。附源码与实现说明
作者:陆岛工作室
![](https://www.cnblogs.com/images/cnblogs_com/iinsnian/139915/t_xoteclogo2.gif)
一个示范如何取鼠标所在位置下的控件的类名的例子。
该程序演示了如何通过鼠标位置取得一个控件,并得到所取控件的类名的功能。
代码非常简单,原理更简单,
1. 在窗体上放一个时钟控件 TTimer, 在 TTimer.OnTimer 事件里加入取类名的过程函数 DoGetClassName
2. DoGetClassName 函数主要实现实时用 GetCursorPos 取当前鼠标的位置
3. 再根据鼠标位置,调用API函数 GetClassName ,就可以取得鼠标位置的控件类名了。
代码真的很简单。却实现了一个非常有用的功能。
示范程序及源码:![](https://www.cnblogs.com/images/cnblogs_com/iinsnian/139262/t_download.gif)
procedure TMainForm.BitBtn1Click(Sender: TObject);
begin
Close;
end;
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
procedure TMainForm.BitBtn2Click(Sender: TObject);
begin
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE);
end;
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
procedure TMainForm.DoGetClassName;
var
P: TPoint;
H: THandle;
lpName: PChar;
begin
GetCursorPos(P); //取屏幕指针位置
H := WindowFromPoint(P); // 当前窗口句柄
GetMem(lpName, 255);
GetClassName(H, lpName, 255); //取类名称
Edit1.Text := lpName;
FreeMem(lpName, 255);
end;
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
procedure TMainForm.Timer1Timer(Sender: TObject);
begin
DoGetClassName;
end;
下次跟大家介绍一下如何实现屏幕取词的功能。![](https://www.cnblogs.com/Emoticons/msn/wink_smile.gif)
![](https://www.cnblogs.com/images/cnblogs_com/iinsnian/139915/t_xoteclogo2.gif)
一个示范如何取鼠标所在位置下的控件的类名的例子。
该程序演示了如何通过鼠标位置取得一个控件,并得到所取控件的类名的功能。
代码非常简单,原理更简单,
1. 在窗体上放一个时钟控件 TTimer, 在 TTimer.OnTimer 事件里加入取类名的过程函数 DoGetClassName
2. DoGetClassName 函数主要实现实时用 GetCursorPos 取当前鼠标的位置
3. 再根据鼠标位置,调用API函数 GetClassName ,就可以取得鼠标位置的控件类名了。
代码真的很简单。却实现了一个非常有用的功能。
示范程序及源码:
![](https://www.cnblogs.com/images/cnblogs_com/iinsnian/139262/t_download.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
下次跟大家介绍一下如何实现屏幕取词的功能。
![](https://www.cnblogs.com/Emoticons/msn/wink_smile.gif)
作者: 陆岛工作室