如何修改Delphi代码实现右键拖动无边界窗体?
修改Delphi无边界窗体拖动的鼠标按键类型
只需要修改代码中判断鼠标按键的条件,把mbLeft替换成mbRight即可实现右键拖动窗体的功能。
修改后的完整代码:
procedure TForm6.Image1MouseDown(Sender: TObject; Button: TMouseButton;Shift: TShiftState;X,Y: Integer); const SC_DRAGMOVE = $F012; begin if Button = mbRight then // 此处将mbLeft替换为mbRight begin ReleaseCapture; Perform(WM_SYSCOMMAND, SC_DRAGMOVE, 0); end; end;
原代码通过if Button = mbLeft判断是否按下鼠标左键,替换为mbRight后,就会在右键按下时触发窗体拖动逻辑——先调用ReleaseCapture释放鼠标捕获,再通过Perform发送WM_SYSCOMMAND消息启动窗体拖动行为。
内容的提问来源于stack exchange,提问作者user3140961
相关产品推荐
相关产品推荐

