目前,界面流行扁平化,对于传统的window窗体,我们经常需要去掉窗体的边框,以求视角扁平化的效果。去掉窗体的边框很容易,关键是对于无边框的窗体,我们无法对其进行拖动,也无法通过拖动窗体边缘来改变窗体的大小。通常我们会想到处理鼠标事件来模拟效果,但我们自己手动写代码会麻烦许多。其实window消息中,有个WM_NCHITTEST,普通窗体中,点击标题栏拖动窗口以及拖动窗体边缘改变窗体大小就是通过发送并处理这个消息实现的,我们可以在给窗口添加这个消息的事件响应函数,就可以模拟相应的效果。
关于WM_NCHITTEST的相关信息,大家可以在网上查到,这里不再介绍。下面的是Delphi中的实现代码。
var
vPoint: TPoint;
begin
inherited;