通常、MDIやSDIのメインフレームのキャプションは、

のように、自動的に「子ウィンドウのタイトル – アプリケーション名」となっています。

たしかに楽なのですが、場合によってはキャプションを全て自分で変更したい場合があります。
(アプリケーション名だけなら、SetTitle()で変更出来ます。)

そんな場合にどうしたらよいかを紹介します。

今回は、「自動的にタイトルを変更する」フラグである(?)「FWS_ADDTOTITLE」を、ウィンドウスタイルから外す事で実現します。
PreCreateWindow関数内でウィンドウスタイルを変更します。

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
	if( !CFrameWnd::PreCreateWindow(cs) )
		return FALSE;

	cs.style^= FWS_ADDTOTITLE;

	return TRUE;
}

あとは、メインフレームからSetWindowTextを呼び出せば、希望通りのキャプションに変更する事が出来ます。

SetWindowText("たかぼーそふと");

記事検索

アーカイブ