|
제 생각에는 마우스 왼쪽버튼이 캡션바에서 눌러졌을때 그냥 리턴시키면 될것같습니다만..
//헤더파일
void __fastcall OnLButtonDown(TMessage &MSG);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_LBUTTONDOWN, TMessage, OnNcLButtonDblClk);
END_MESSAGE_MAP(TForm);
//폼파일
void __fastcall TFormMain::OnLButtonDown(TMessage& MSG)
{
int nHitTest = (int)MSG.WParam ;
POINTS pts = MAKEPOINTS(MSG.LParam);
//작업
if(nHitTest == HTCAPTION) // 타이틀바이면 리턴
return;
}
참고로 제가작업했던 내용을 웹상에서 바로 수정한거라 테스트는 못해봤습니다만... 저런 스킴으로 작업하시면 될것같다는 무책임한 말씀만... ^^;
김재철 님이 쓰신 글 :
: 안녕하세요?
: 여기 Q&A와 팁에서 찾은걸 가지고 샘플을 만들었는데 해결 안되는게 있어서 질문 올립니다.
:
: 폼을 하나 만들었습니다.
: 그리고 헤더파일에서 기본적인 부분에다가 아래와 같이 추가했구요
:
: private: // User declarations
: void __fastcall WMGetMinMaxInfo(TWMGetMinMaxInfo &msg);
:
: 이 부분과
:
: BEGIN_MESSAGE_MAP
: MESSAGE_HANDLER(WM_GETMINMAXINFO, TWMGetMinMaxInfo, WMGetMinMaxInfo);
: END_MESSAGE_MAP(TForm);
:
: 이 부분을 추가했습니다.
:
: 소스에서 아래와 같이 추가했습니다.
: void __fastcall TForm1::WMGetMinMaxInfo(TWMGetMinMaxInfo &msg)
: {
: msg.MinMaxInfo->ptMinTrackSize = Point(835,Form1->Height);
: msg.MinMaxInfo->ptMaxTrackSize = Point(1280,Form1->Height);
: }
: 그런데 폼에서 최대화 버튼을 누르고 마우스로 폼을 드래그하면 폼이 움직이네요
:
: 참고로 빌더의 메뉴폼과 비슷하게 하려고 합니다.
:
: 답변좀 주세요....
|