음...
정 그러하시다면...
무식하게 만드는 수밖엔 없군요...
제가 원래 좀 무식하거든요...
이렇게 하세요...
BorderStyle은 None으로 하시구요...
그럼 타이틀 바가 사라지겠죠?
그담에...
타이틀바의 버튼과 같은 크기로 스피드버튼을 하나 올리시구요.
그렇게 하신담에 버튼의 Font는 Marlett으로 바꿔 주시구요.
...그 담에 버튼의 Caption 에 다가 0을 입력하시구요.
(으... 방금 찾느라구 고생했져요... ^^;)
그렇게 하신담에 적당한 위치에 놓으시면 되겠죠?
그렇게 하시면 아마두 최소화 버튼과 모양이 똑같을 겁니다.
그 담에 색깔 조정하시구...
이런 저런 처리 하신담에...
정말 중요한거 한가지...
캡션바니깐... 당연히 캡션을 마우스로 누르고 드레그 하려면
당연히 드레그가 되어야 겠죠?
그렇게 하시려면...
우선 Public에다가 아래 코드 추가하시구요...
procedure WMNCHitTest(var Msg: TMessage); message WM_NCHITTEST;
그 담에 구현부에서 이렇게 코딩하세요...
procedure TForm1.WMNCHitTest(var Msg: TMessage);
begin
if GetAsyncKeyState(VK_LBUTTON) < 0 then
Msg.Result := HTCAPTION
else
Msg.Result := HTCLIENT;
end;
이렇게 하시면 폼을 아무데나 눌러도 드레그가 됩니다.
그거 막으시려면...
폼의 색깔은 clActiveCaption으로 해주시구...
그 밑에다가 판넬을 적당히 붙여 주세요...
왜 판넬을 붙이냐면요...
판넬은 폼에서 발생하는 WMNCHitTest에 전혀 반응을 안 하거든요...
그럼 판넬 부위를 아무리 누르고 드레그 해도 드레그가 안되요.
이런식으로 좀 무식하게 만들어 보세요...
효과는? 확실하죠...
이참에 캡션바의 위치두 아래, 왼쪽, 오른쪽... 뭐 이런식으로
맘대로 바꿔 보세요...
그럼...
|