移动无标题栏窗口

华恒服务中心

华恒服务中心

2016-02-19 12:45

今天图老师小编要向大家分享个移动无标题栏窗口教程,过程简单易学,相信聪明的你一定能轻松get!
一般情况下,移动一个窗体需要将鼠标放置在标题栏上才能拖动窗体,为 什么非要使用标题栏呢?其实我们可以使用一个巧妙的方法来实现将鼠标放置 在窗体上按下就可拖动窗体,下面先看实现代码。在Form1的“Private”部分声明过程:

  

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  在private部分加入下列代码:
  procedure wmnchittest(var msg:twmnchittest);message wm_nchittest;
  
  
在程序部分加入以下代码:
  procedure TForm1.wmnchittest(var msg:twmnchittest);?????????????
  begin????????????????????????????????????????????????????????????
  ? inherited;?????????????????????????????????????????????????????
  ? if (htclient=msg.result) then msg.result:=htcaption;??????????
  end;????????????????????????????????????????????????????????????
  

  
上面的关键代码虽然只有两行,但它实现了鼠标直接拖动窗体的目的。代码的原理是利用窗体的WM_NCHITTEST消息,这个消息是当光标移动、鼠标按下或释放时发生的,当程序检测到鼠标在窗体中按下的消息后(消息的值为htClient),将鼠标在标题栏上按下时产生的消息(值为htCaption)传递出去,这样就巧妙的欺骗程序认为是标题栏被按下,当然就可拖动窗体了。
  

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

移动无标题栏窗口

编程语言 网络编程
移动无标题栏窗口

再谈“无标题栏窗口的移动技巧”

编程语言 网络编程
再谈“无标题栏窗口的移动技巧”

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

可拖动的无标题栏窗体

电脑网络
可拖动的无标题栏窗体

在VB中实现移动没有标题栏的窗口

编程语言 网络编程
在VB中实现移动没有标题栏的窗口

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

窗体问题--拖动无标题栏的窗体

电脑网络
窗体问题--拖动无标题栏的窗体

无标题栏对话框的拖动

C语言教程 C语言函数
无标题栏对话框的拖动

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

关于finalize()方法的解释

关于finalize()方法的解释

HTML5的革新 结构之美

HTML5的革新 结构之美
下拉加载更多内容 ↓