メインフレームのタイトルについて – プログラミング – Home

メインフレームのタイトルについて
 
通知
すべてクリア

[解決済] メインフレームのタイトルについて


ゆっち
 ゆっち
(@ゆっち)
ゲスト
結合: 18年前
投稿: 8
Topic starter  

開発環境 : WinXP SP2 VS2005 MFC使用 MDIアプリケーション

以前ゆうという名前で投稿させていただいた者です。他にもゆうという名前の人が
いたので変更いたしました。というわけで質問です。

メインフレームのタイトルなのですが、普段は設定した任意のタイトルが表示されて
います。ところが、子ウィンドウを最大化すると

任意のタイトル - [子ウィンドウのタイトル]

のようにハイフンが入ってしまいます。どうにかこれを

任意のタイトル[子ウィンドウのタイトル]

のような形にしたいのです。解決方法をお願いいたします。


引用未解決
トピックタグ
いろは
 いろは
(@いろは)
ゲスト
結合: 21年前
投稿: 43
 

メインフレームにOnUpdateFrameTitleをオーバーライドしてあげれば出来かと思います。


返信引用
ゆっち
 ゆっち
(@ゆっち)
ゲスト
結合: 18年前
投稿: 8
Topic starter  

いろはさん
レスありがとうございます。

>メインフレームにOnUpdateFrameTitleをオーバーライドしてあげれば出来かと思いま
す。

ためしに以下のような処理を記述してみましたが変化なしでした。

void CMainFrame::OnUpdateFrameTitle(BOOL bAddToTitle)
{
if( (GetStyle() & FWS_ADDTOTITLE) == 0 )
return;
UpdateFrameTitleForDocument(NULL);
}

他にも何か必要な処理があるのでしょうか?


返信引用
ゆっち
 ゆっち
(@ゆっち)
ゲスト
結合: 18年前
投稿: 8
Topic starter  

ちなみに・・・
タイトルの設定方法ですが、CWinAppのInitInstance()内で

AfxGetMainWnd()->SetWindowText( _T(任意のタイトル) );

して、CMainFrameのPreCreateWindow()内で

cs.style ^= FWS_ADDTOTITLE;

しております。


返信引用
いろは
 いろは
(@いろは)
ゲスト
結合: 21年前
投稿: 43
 

今では動かない過去のソースを見てみると。。。汗

OnUpdateFrameTitle()の中で表示したい文字列をSetWindowText()をしてるようです。


返信引用
ゆっち
 ゆっち
(@ゆっち)
ゲスト
結合: 18年前
投稿: 8
Topic starter  

OnUpdateFrameTitle()内でタイトルの変更を行ってみたのですが
やはり変化がありませんでした。

うーむ・・・。別のアプローチを考えた方がいいのかも。


返信引用
いろは
 いろは
(@いろは)
ゲスト
結合: 21年前
投稿: 43
 

ためしにやってみました。
私が以前にやったのと状況がちょっと違ったのかもしれません。

子ウィンドウが最大化されたときは子フレームの方でOnUpdateFrameTitle()をオーバーライトしな
いといけないようです。


返信引用
ゆっち
 ゆっち
(@ゆっち)
ゲスト
結合: 18年前
投稿: 8
Topic starter  

試してみました。が、これもだめでした。
いくらタイトルを変更してみてもデフォルトで入ってしまうようです。

なので、子フレームの最大化のイベントを拾ってその中で子フレームのタイトルを
消去し、メインフレームのタイトルに子フレームのタイトルを付加する。という
方法で行くことにします。

いろはさん、長々と当スレにお付き合いいただきありがとうございました。
一応これで解決とさせていただきます。


返信引用
いろは
 いろは
(@いろは)
ゲスト
結合: 21年前
投稿: 43
 

解決と言うことなので良いのですが…

UpdateFrameTitleForDocumentが呼ばれちゃうのが良くないのかと思うのです。

void CChildFrame::OnUpdateFrameTitle(BOOL bAddToTitle)
{
//CMDIChildWnd::OnUpdateFrameTitle(bAddToTitle);
}

↑とすると最大化したときに子ウィンドウのタイトルがメインウィンドウのタイトル上に表示されな
かったので、ここで設定したい文字列をSetWindowTextすればいけるかと思ったのですが。。
(先にソース書いたほうが良かったですかね。コメントが短くてすみませんでした。)
もし時間があったら試してみてください。


返信引用
Kerry
 Kerry
(@Kerry)
ゲスト
結合: 20年前
投稿: 192
 

↓が参考になりますでしょうか。

http://m--takahashi.com/bbs/pastlog/13000/12973.html


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました