본문 바로가기
코드 조각

타이틀바와 시스템 메뉴 동작 만들기

by ictlab 2012. 3. 15.

1. Designtime에 
     * Form의 WindowState를 wsMaximized 로 설정
     * Form의 BorderStyle을 bsSizeable 로 설정
     
2. Form의 OnCreate이벤트에 다음과 같이 코딩

void __fastcall TForm1::FormCreate(TObject *Sender)
{
SetWindowLong(Handle,GWL_STYLE,GetWindowLongA(Handle,GWL_STYLE)&~WS_CAPTION);
this->WindowState=wsNormal;
}

3. 타이틀바 대신할 control
   타이틀바를 대신할 Image가 있다면 다음과 같이 코딩..
   3.1 OnMouseMove 이벤트에 다음가 같이 코딩
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y)
{
if(Shift.Contains(ssLeft))
{
ReleaseCapture();
this->Perform(WM_SYSCOMMAND,0xf012,0);
}
}
//---------------------------------------------------------------------------

   3.2 OnDblClick이벤트에 다음과 같이 코딩   
void __fastcall TForm1::Image1DblClick(TObject *Sender)
{

if( this->WindowState==wsMaximized)
this->WindowState=wsNormal;
else
this->WindowState=wsMaximized;

}
//---------------------------------------------------------------------------
   
4. 기타 타이틀 버튼은..
    4.1 Maximize =>  this->WindowState=wsMaximized;
    4.2 보통Size =>  this->WindowState=wsNormal;
    4.3 Minimize =>  this->WindowState=wsMinimized;
    4.4 X버튼    =>  Close();
   

'코드 조각' 카테고리의 다른 글

실행파일 파라메터 가져오는 함수  (0) 2012.03.15
FindFile 샘플  (0) 2012.03.15
폴더 선택 다이얼로그  (0) 2012.03.15
GetFileSize  (0) 2012.03.15
윈도우 이동 ( 화면 이동) ReleaseCapture  (0) 2012.03.14