重载WM_NCHITTEST消息procedure TMainFrm.WMNCHITTEST(var Msg :TMessage); begin Inherited ; if Msg.Result = HTCAPTION then //点击标题 ... end;
HTCAPTION 好像不是点击标题 触发不了。
WM_NCHITTEST好像是窗体标题事件,但我怎么判断点击后鼠标放开的状态 如: procedure TMainFrm.WMNCHITTEST(var Msg :TMessage); begin Inherited ; if Msg.Result = ? then //这应该写什么,鼠标拖动后放开的结果 ... end; help me?
1,应该用 WM_NCLBUTTONDOWN or WM_NCRBUTTONDOWN 来捕获非客户区的鼠标点击事件,并根据消息的nHittest参数来判断是否在标题栏(HTCAPTION);2,拖动窗体过程中Windows向窗体发送WM_WINDOWPOSCHANGING消息 在释放了左键后Windows会向窗体发送消息:WM_WINDOWPOSCHANGED
begin
Inherited ;
if Msg.Result = HTCAPTION then //点击标题
...
end;
触发不了。
如:
procedure TMainFrm.WMNCHITTEST(var Msg :TMessage);
begin
Inherited ;
if Msg.Result = ? then //这应该写什么,鼠标拖动后放开的结果
...
end;
help me?
在释放了左键后Windows会向窗体发送消息:WM_WINDOWPOSCHANGED