フォーム内でボタンが押されたか判定して、押されたらマウスの動きに合わせてフォームを
移動させて、ボタンが離されたらマウスの動きに合わせなくするようにします。
作成手順
void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { MousePos[2]=1; //ドラッグモード MousePos[0]=X; MousePos[1]=Y; }とします。
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { // ボタンが押されてたらウィンドウを移動 if(MousePos[2]==1) { Form1->Left += X-MousePos[0]; Form1->Top += Y-MousePos[1]; } }
void __fastcall TForm1::FormMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { MousePos[2]=0; }とします。