-
윈도우 창 이동(BoderStyle = bsNone)C++ Builder/예제소스 2019. 2. 26. 11:26
출처: http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=56531
@ 창 크기 Resizeable
// 선언
private: // User declarations
void __fastcall CreateParams(TCreateParams& Params);
// 구현
void __fastcall TForm1::CreateParams(TCreateParams& Params)
{
TForm::CreateParams(Params);
Params.Style = WS_POPUP | WS_THICKFRAME;
}
@ 폼 상단 부분 보더 없애는 소스
// WndProc virtual method override
void __fastcall TForm1::WndProc(TMessage &M)
{
static RECT rect = {0};
switch (M.Msg)
{
case WM_CREATE:
AdjustWindowRectEx(&rect, GetWindowLongPtr(Handle, GWL_STYLE) & ~WS_CAPTION, FALSE, NULL);
rect.left *= -1;
rect.top *= -1;
return;
case WM_NCACTIVATE:
return;
case WM_NCCALCSIZE:
if (M.LParam)
{
NCCALCSIZE_PARAMS* sz = (NCCALCSIZE_PARAMS*)M.LParam;
sz->rgrc[0].top += 3; //상단 보더를 완전히 없애려면 코멘트 처리
sz->rgrc[0].left += rect.left;
sz->rgrc[0].right -= rect.right;
sz->rgrc[0].bottom -= rect.bottom;
return;
}
break;
default:
TForm::WndProc(M);
}
}
728x90'C++ Builder > 예제소스' 카테고리의 다른 글
SQL구문 (0) 2019.08.13 FindComponent (0) 2019.04.29 fnFieldByName (0) 2019.04.26 ExportGridToExcel (0) 2019.04.18 종료확인 (0) 2019.01.31 댓글