|
감사합니다. 잘 동작하네요.
여기서 질문 하나만 더 할께요.
WM_SYSCOMMAND 를 찾아 보니 많은 wParam 값을 갖는데 그중 어느 것을 쓰는건가요?
SC_MOVE 가 있어 SendMessage( Handle,WM_SYSCOMMAND,SC_MOVE,0 );로 했더니 마우스 포인트가
십자가로 변하기만 할뿐 이동을 안하네요. 어떻게 0xf012 라는 값을 알수 있나요?
질문이 맞는 것인지? 아직 모르는게 넘 많아서.
최준호.스페로 님이 쓰신 글 :
: 안녕하세요 스페로입니다.
:
: 폼크레이트 이벤트에서는 안되네요..
:
: 여러가지 이벤트에 적용해보니
:
: 적합한지는 모르지만 OnPaint 이벤트에서 됩니다.
:
: 그리고 이렇게 생성한 캡션바는 마우스로 드래그가 안되니..
:
: bsNone폼에 마우스 드래그 할수 있는 코드를 조금 수정해서
:
: 마우스 Y의 값을 GetSystemMetrics(SM_CYCAPTION)보다 작거나 같을때만 동작하게
:
: 수정했더니 잘됩니다.
:
: void __fastcall TForm1::FormPaint(TObject *Sender)
: {
: HDC dc = GetDC(Form1->Handle);
:
: DrawCaption(Form1->Handle, dc,
: &Bounds(0, 0, Width, GetSystemMetrics(SM_CYCAPTION)),
: DC_ACTIVE | DC_TEXT);
:
: ReleaseDC(Form1->Handle, dc);
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
: int X, int Y)
: {
: if (Y <= GetSystemMetrics(SM_CYCAPTION)){
: ReleaseCapture();
: SendMessage( Handle,WM_SYSCOMMAND,0xf012,0 );
: }
:
: }
: //---------------------------------------------------------------------------
:
: 소스를 보시면 알수 잇을 거에요..
:
: 그럼 즐프~~
:
:
: 진수.네모 님이 쓰신 글 :
: : 폼 border style = bsnone 으로 하고 다음 코드를 form create 이벤트에 넣었거든요..
: :
: :
: : HDC dc = GetDC(Form1->Handle);
: :
: : DrawCaption(Form1->Handle, dc,
: : &Bounds(0, 0, Width, GetSystemMetrics(SM_CYCAPTION)),
: : DC_ACTIVE | DC_TEXT);
: :
: : ReleaseDC(Form1->Handle, dc);
: :
: :
: : 이렇게 하면 캡션바가 생긴다던데 저는 안나타 나네요? 잘못하는 건가요?
: :
: : 이렇게 생긴 캡션바를 마우스로 클릭후 이동하게 하는 방법에 대해 설명 부탁 드립니다.
|