有关窗口拖动的问题,请高手指教。(80分)

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

billxu

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾请了:<br>&nbsp; 在此请教如何在鼠标拖动窗口时连窗口内容同时显示,就是说不要只显示边框,而是整个<br>窗口一起在走,虽然在桌面属性处可以设置,但我想在程序中实现。
 
你可以找一个叫做movepanel的控件,里面有完整实现,具体说就是跟踪鼠标位置
 
movepanel控件在哪里?
 
http://eagleboost.myrice.com/<br>可以到这个站点,是大富翁上CathEagle的主页<br>上面就有啦
 
我想要的是API函数。
 
COPY过来的<br>-------------------------------<br>var<br>dx,dy:integer;<br>//鼠标按下时记录鼠标位置<br>procedure TForm1.FormMouseDown(Sender:TObject;Button:TMouseButton;<br>Shift: TShiftState; X, Y: Integer);<br>begin<br>dx:=X;<br>dy:=y;<br>close;<br>end;<br>//鼠标移动时移动窗口<br>procedure TForm1.FormMouseMove(Sender:TObject;Shift:TShiftState;X,<br>Y: Integer);<br>var<br>mx,my:integer;<br>begin<br>If Shift=[ssleft] Then<br>begin<br>mx:=X-dx;<br>my:=Y-dy;<br>Form1.Left:=Form1.Left+mx;<br>Form1.Top:=Form1.Top+my;<br>Form1.Caption:=intToStr(X)+':'+intToStr(Y);<br>end;<br>end;<br>end.
 
改注册表吧<br>Detailed Information:<br><br>&nbsp; Full Window Drag Option (Windows 9x and NT)<br>This setting enables the Full Windows Drag function, which allow you to view the contents of window while dragging it across the screen, instead of just the standard outline.<br><br>Open your registry and find the key below.<br><br>Create a new string value named 'DragFullWindows', or modify the existing value, to equal '1' for enabled, or '0' for disabled.<br><br>Close the registry and restart Windows.<br><br>Key: [HKEY_CURRENT_USER/Control Panel/Desktop]<br>Value Name: DragFullWindows<br>Data Type: REG_SZ<br>Data: (0=disable, 1=enable)<br><br>显示的属性中改是不用重启的,但直接在注册表中改要重启才行<br>
 
to honghs:<br>&nbsp; 我觉得在显示的属性中改而不用重启的原因就是调用了API函数直接修改了系统参数。
 
搞定啦,给分过年吧<br>禁止<br>SystemParametersInfo(SPI_SETDRAGFULLWINDOWS,0,nil,SPIF_UPDATEINIFILE);<br>允许<br>SystemParametersInfo(SPI_SETDRAGFULLWINDOWS,1,nil,SPIF_UPDATEINIFILE);<br><br>这个函数的详细帮助你自己查msdn<br><br>
 
to honghs:<br>&nbsp; 多谢了,我要的就是这个。
 
多人接受答案了。
 
后退
顶部