|
일반적으로 드래그와 버튼 클릭 모두 마우스 왼쪽 버튼으로 하게되므로...
두가지를 동시에 처리하기는 쉽지 않겠군요.
게다가... 버튼 클릭과 버튼 드래그가 모두 마우스 왼쪽 버튼 하나로
처리하는 프로그램이라면... 프로그램의 사용자 입장에서도 어려운 점이 있을것 같구요.
그래서.. 여러가지 방법이 있겠지만...
한가지 방법으로 사용자가 버튼을 드래그하고 싶을 경우에는
마우스 왼쪽 버튼과 함께 Ctrl(컨트롤)키를 누르도록 하는 방법이 있습니다.
그렇다면 소스 코드는 다음과 같이 할 수 있습니다.
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
if(Shift.Contains(ssCtrl)) {
ReleaseCapture();
SendMessage(Button1->Handle, WM_SYSCOMMAND, 0xf012, 0);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ShowMessage("Clicked");
}
//---------------------------------------------------------------------------
도움이 되었나요?? ㅋㄷㅋㄷ
|