Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[249] [답변] GRUNT95/[델파이] 다시말할께요 타이틀 바....
yunjeong [ ] 2729 읽음    1997-12-04 01:27
음...
정 그러하시다면...
무식하게 만드는 수밖엔 없군요...
제가 원래 좀 무식하거든요...
이렇게 하세요...
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에 전혀 반응을 안 하거든요...
그럼 판넬 부위를 아무리 누르고 드레그 해도 드레그가 안되요.
이런식으로 좀 무식하게 만들어 보세요...
효과는? 확실하죠...
이참에 캡션바의 위치두 아래, 왼쪽, 오른쪽... 뭐 이런식으로
맘대로 바꿔 보세요...
그럼...


+ -

관련 글 리스트
249 [답변] GRUNT95/[델파이] 다시말할께요 타이틀 바.... yunjeong 2729 1997/12/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.