在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一般情况下,移动一个窗体需要将鼠标放置在标题栏上才能拖动窗体,为 什么非要使用标题栏呢?其实我们可以使用一个巧妙的方法来实现将鼠标放置在窗体上按下就可拖动窗体,下面先看实现代码。
在Form1的“Private”部分声明过程:
代码
1procedure wmnchittest(var msg:twmnchittest);message wm_nchittest;
2
在程序部分加入以下代码:
代码
procedure TForm1.wmnchittest(var msg:twmnchittest);
begin inherited; if (htclient=msg.result) then msg.result:=htcaption; end;
代码的原理是利用窗体的WM_NCHITTEST消息,这个消息是当光标移动、鼠标按下或释放时发生的,当程序检测到鼠标在窗体中按下的消息后(消息的值为htClient), 将鼠标在标题栏上按下时产生的消息(值为htCaption)传递出去,这样就巧妙的欺骗程序认为是标题栏被按下,当然就可拖动窗体了。
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论