MFC 프로그램을 짜다 보면 타이틀 바에 프로그램의 버전을 넣기 위해 아래처럼 타이틀 바를 구성하고 싶어진다.
즉, '파일명 - 프로그램명 - 버전' 으로 구성하고 싶어지는데, IDR_MAINFRAME 리소스의 문자열을 수정하는 방법도 있지만, 본인은 되도록 programmatic하게 관리하고 싶어졌다. 구글링을 좀 해봐도 구미에 딱 맞는 안내가 없어서 직접 한번 알아보니...... 너무나 쉬운 방법이 있었다. 등잔 밑이 어둡달까...
본인이 제작한 어플의 코드를 발췌해서 보여 드린다.
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
...
...
CFileVersionInfo fvi;
if(fvi.Create(HMODULE(nullptr)))
{
CString text = GetTitle();
text = text + " v" + fvi.GetProductVersion();
text.Delete(text.GetLength()-2, 2);
SetTitle(text);
}
...
...
}
그렇다. 바로 12번 줄의 CFrameWnd::SetTitle() 이 바로 그 기능을 하는 함수였다.