본문 바로가기

Programming/MFC

Class name 만들고 확인하기.

// Class name 변경하기
char* g_szClassName = NULL ;

 

// 먼저 클래스를 등록하고 이름을 변경하여 만들어준다.
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
 if( !CFrameWnd::PreCreateWindow(cs) )
  return FALSE;
 // TODO: CREATESTRUCT cs를 수정하여 여기에서
 // Window 클래스 또는 스타일을 수정합니다.

 // 타이틀바의 제목없음 삭제
 cs.style &= ~FWS_ADDTOTITLE ;

 // 최소화/최대화 사용안함.
 cs.style &= /*WS_DLGFRAME*/ /*| ~WS_MAXIMIZEBOX*/ WS_BORDER ;
 
 // no menu
 cs.hMenu  = NULL ;

 //////////////////////////////////////////////////////////////////////////
 // class name 변경하여 등록하기
 if ( g_szClassName == NULL )
 {
  WNDCLASS wc ;
  GetClassInfo( AfxGetInstanceHandle(), cs.lpszClass, &wc) ;
  wc.hIcon = LoadIcon( AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_MAINFRAME) ) ;
  wc.lpszClassName = _T("ESGEditor") ;
  AfxRegisterClass(&wc);
  g_szClassName = _T("ESGEditor") ;
 }
 cs.lpszClass = _T("ESGEditor") ;
 //////////////////////////////////////////////////////////////////////////

 return TRUE;
}

 

// 확인할때.. OnCreate에서 해본다

char pTEST[256] ;
memset( pTEST, '\0', 256 ) ;
GetClassName( this->GetSafeHwnd(), pTEST, 256 ) ;

AfxMessageBox( pTEST ) ;