Delphiタイトルバーを使用せずにフォームを移動

1049 ワード

procedure TxxxxForm.FormMouseDown(Sender: TObject;

  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

const

  sc_DragMove: Integer = $F012;

begin

  if ssCtrl in Shift then // “Ctrl” 

  Begin

   ReleaseCapture;        // 

    //(Sender as TWinControl).PerForm(wm_SysCommand, sc_DragMove, 0);

    // , , 

    //self.perform(WM_SYSCOMMAND, sc_DragMove, 0);

    // 

    //SendMessage(Self.Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);

    // 

  end;

end;

以上の注釈の3段9,#11,#13はいずれもフォームを移動する効果を果たすことができる.
procedure TxxxxForm.FormMouseDown(Sender: TObject;

  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

const

  sc_DragMove: Integer = $F012;

begin

  if ssCtrl in Shift then // “Ctrl” 

  Begin

   ReleaseCapture;        // 

    //(Sender as TWinControl).PerForm(wm_SysCommand, sc_DragMove, 0);

    // , , 

    //self.perform(WM_SYSCOMMAND, sc_DragMove, 0);

    // 

    //SendMessage(Self.Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);

    // 

  end;

end;