TForm 의 BorderStyle 을 bsNone 으로 두셨다면, 당연히 캡션바가 생성되지 않죠.
그 상황에서도 TMainMenu 컴포넌트를 폼위에 놓고 사용하시면 잘 표시됩니다.
BorderSylte 을 bsNone 으로 두시면, 리사이즈 컨트롤도 사라지게 되는데,
3D 형식의 폼테두리를 남겨 놓으시고 싶으시다면
CreateParam 을 바꿔서 캡션을 날려 버리는 방법도 있습니다. Tip'N Tricks나 FAQ들을 참조하시면 되구요.
캡션바가 있는 폼에서 폼의 이동을 막고 싶으시다면
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=139
위의 글을 참고하셔서
WM_NCHITTEST 를 캡춰하시고,
Mes.Result = HTCAPTION; 을 Mes.Result = HTNOWHERE; 로 고쳐주시면 됩니다.
HTCAPTION과 HTNOWHERE등은 winuser.h 에 선언되어 있는 상수이구요. 다음과 같은 관련항목이 선언되어 있습니다.
#define HTERROR (-2)
#define HTTRANSPARENT (-1)
#define HTNOWHERE 0
#define HTCLIENT 1
#define HTCAPTION 2
#define HTSYSMENU 3
#define HTGROWBOX 4
#define HTSIZE HTGROWBOX
#define HTMENU 5
#define HTHSCROLL 6
#define HTVSCROLL 7
#define HTMINBUTTON 8
#define HTMAXBUTTON 9
#define HTLEFT 10
#define HTRIGHT 11
#define HTTOP 12
#define HTTOPLEFT 13
#define HTTOPRIGHT 14
#define HTBOTTOM 15
#define HTBOTTOMLEFT 16
#define HTBOTTOMRIGHT 17
#define HTBORDER 18
#define HTREDUCE HTMINBUTTON
#define HTZOOM HTMAXBUTTON
#define HTSIZEFIRST HTLEFT
#define HTSIZELAST HTBOTTOMRIGHT
#if(WINVER >= 0x0400)
#define HTOBJECT 19
#define HTCLOSE 20
#define HTHELP 21
#endif
|