Program Language/API | MFC
[MFC] 다이얼로그 캡션 변경
야곰야곰+책벌레
2021. 5. 20. 17:08
728x90
반응형
MFC에서 윈도우 창의 캡션을 변경하려면, 첫 번째로는 CMainFrame::PreCreateWindow에서 CREATESTRUCT를 변경하는 방법이 있다.
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
cs.style &= ~(FWS_ADDTOTITLE); // 캡션이 파일 읽어오기 등으로 바뀌지 않도록 변경
cs.lpszName = _T("MY APPLICATION"); // 원하는 캡션 작성
return TRUE;
}
두 번째는 그냥 CMainFrame에서 SetWindowText(캡션명)을 호출하면 된다. CMainFrame이 아니라 다른 곳에서 변경하고 싶다면 아래와 같이 하면 된다.
CMainFrame* pFrame = (CMainFrame *)AfxGetMainWnd(); // CMainFrame의 포인터를 받아와서
pFrame->SetWindowText(L"MY APPLICATION"); // 캡션명을 변경한다.
MDI에서 자식윈도우의 캡션을 변경하고 싶다면, CMainFrame 대신에 CChildFrame에서 하면 된다.
CMainFrame* pMain = (CMainFrame*)AfxGetApp()->m_pMainWnd;
CChildFrame* pWnd = (CChildFrame*)pMain->MDIGetActive();
pWnd->SetWindowText(L"MY APPLICATION"); // 캡션명을 변경한다.
728x90
반응형