You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 20:21:56