请帮我看看如下捕获窗口句柄的问题(50分)

  • 主题发起人 主题发起人 Solid_Snake
  • 开始时间 开始时间
S

Solid_Snake

Unregistered / Unconfirmed
GUEST, unregistred user!
我在form1里面设置了form2.show,在form1的鼠标单击时得到form1的窗口句柄,并使form1变为最小,当show出form2时,两个窗口并排出现在屏幕上面,我想使鼠标在form1里面单击使其变为最小,在form2里面单击使其最大,但是我的程序在form2里面单击变成了使form1最大,请帮我看看代码,帮我纠正一下吧:<br>procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;<br>&nbsp; Shift: TShiftState; X, Y: Integer);<br>var<br>&nbsp; ss:TPoint;<br>&nbsp; mlngHwndCaptured: HWND;<br>begin<br><br>if GetCapture()&lt;&gt;0 then<br>begin<br>&nbsp; ss.X :=X;<br>&nbsp; ss.Y:= Y;<br>&nbsp; ClientToScreen(ss);<br>&nbsp; mlngHwndCaptured := WindowFromPoint(ss);<br>&nbsp; ShowWindow(mlngHwndCaptured,SW_MINIMIZE);<br>end;<br><br><br>procedure TForm2.FormMouseDown(Sender: TObject; Button: TMouseButton;<br>&nbsp; Shift: TShiftState; X, Y: Integer);<br>var<br>&nbsp; ss1:TPoint;<br>&nbsp; bb: HWND;<br>begin<br><br>if GetCapture()&lt;&gt;0 then<br>begin<br>&nbsp; ss1.X :=X;<br>&nbsp; ss1.Y:= Y;<br>&nbsp; ClienttoScreen(ss1);<br>&nbsp; bb := WindowFromPoint(ss1);<br>&nbsp; ShowWindow(bb,SW_MAXIMIZE);<br>&nbsp; end;<br><br><br><br>
 
你的描述很复杂,你的程序做的也复杂,有这样的必要得到他的句柄吗?
 
你想要单击form1时,form1最小<br>show出form2时,form2,form1并排<br>单击form2时,form1最大,对吗<br>
 
to JamesBond_L:我可能只是想使用那样的方法,请问能帮我纠正一下吗。。。。。<br>to wqhatnet:show出form2时,form2,form1并排,单击form2时,form2最大,单击form1时,form1最小。<br>
 
复杂了!没看懂!
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
502
import
I
后退
顶部