点击窗体任何部分都可拖动实现后出现的问题!(100分)

  • 主题发起人 主题发起人 bevy
  • 开始时间 开始时间
B

bevy

Unregistered / Unconfirmed
GUEST, unregistred user!
使用了API的消息,程序如下:
procedure TForm1.WMNCHitTest(var M: TWMNCHitTest);
begin
inherited;
{ call the inherited message handler }
if M.Result = htClient then
{ is the click in the client area? }
M.Result := htCaption;
{ if so, make Windows think it's }
{ on the caption bar. }
end;

现在的问题是:好像窗体不能相应任何鼠标移动和点击了,比如我想设定点击窗体的
某一块位置后,窗体就关闭,但是窗体感应不到mousedown这个事件了,请问怎么办?
谢谢
 
在WMNCHitTest(var M: TWMNCHitTest)中用
x:=LOWORD(m.lParam);
y:=HIWORD(m.lParam);
可以知道鼠标点击的坐标,判断一下就行了。
 
在你的那一个特殊的位置发一个看不见的(bevelin&out=none)panel,就能感应到了吧,
try try
 
谢谢,但是现在的问题是:那个鼠标点击的坐标是相对于屏幕的坐标,而不是相对于form
的坐标,请问怎么样能够实现在这两者之间的转化呢?
 
多人接受答案了。
 
后退
顶部