• 締切済み

VC++2003でMFCアプリを作成しています。

自分である拡張子のファイルを読み込んだ際に、ファイルオープンに成功した場合のみタイトルバーを更新したいのですが、どうしたらいいでしょうか? SDIで開発しているのですが、既存のままだと読み込んだ時点でタイトルバーが更新されているようです。 どこでタイトルバーを変えているか教えていただけませんでしょうか?また、その部分をオーバーライドするという意識で間違いないでしょうか?

みんなの回答

回答No.1

タイトルの変更は、 virtual void CDocument::SetPathName の中で行われているはずです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VC++2003SDIでMFCアプリ作成中です。

    最近使ったファイルからファイルを選んだ際、自動的にタイトルバーが更新されるようですが、これはどのクラスのどのメソッドで行われているのでしょうか? ある条件のときのみタイトルバーを更新したいので、処理を変更する為オーバーライドしたいと考えております。 どなたか教えていただけませんでしょうか?

  • VC++2003SDIでMFCアプリ作成中です。

    既存のメソッドである、ファイルを読み込むCDocManager::OpenDocumentFile (LPCTSTR lpszFileName)はどこでタイトルバーを更新しているのでしょうか? ファイルを開けた場合のみタイトルバーを更新したいです。 それともタイトルバーの更新は別の場所で行われているのでしょうか? どなたか教えていただきたいです。

  • MFCでPDFビューアアプリ作成中

    アプリを起動する際に、レジストリでpdfのファイル対応付けを行います。 そしてpdfファイルをダブルクリックすることでファイルオープンをするのですが、(実装済み) タイトルバーが文字化けして正しく表示されません。 しかし、ファイルは正しい書式のときはうまく読み込めています。 つまり、タイトルバーの更新部分でおかしなことになっているようなのです。 しかも、なぜかドラッグ&ドロップでファイルを読み込んだ際はファイルも正しく表示されるし タイトルバーも正しく表示されます。 ちなみに、おかしくなるのは全角の文字がファイル名に入っているときです。 原因がわかる方いらっしゃいますでしょうか?

  • VC++2003SDIでMFCアプリ作成中です。

    MFCで自動生成された画面だと、ステータスバーのチェックのON、OFFの切り替えができるようですが、ステータスバーの内容が自動で上書きされます。 ファイルオープンに成功した場合のみ更新したい場合はどうすればよろしいのでしょうか? どこでステータスバーを更新しているかも教えていただけると嬉しいです。

  • VC++でMFCアプリ作成中です。

    MFCの既存のフレームで、「最近使ったファイル」という欄があります。 これを選んだ際に、指定したプログラムでそのファイルを開きたいのですが、うまくいきません。 どうすればよろしいでしょうか? HogeView.cpp ...(省略) /*************************************** OnOpenRecentFileのオーバーライド ***************************************/ BOOL CWinApp::OnOpenRecentFile(UINT nID) { ASSERT_VALID(this); ASSERT(m_pRecentFileList != NULL); ASSERT(nID >= ID_FILE_MRU_FILE1); ASSERT(nID < ID_FILE_MRU_FILE1 + (UINT)m_pRecentFileList->GetSize()); int nIndex = nID - ID_FILE_MRU_FILE1; ASSERT((*m_pRecentFileList)[nIndex].GetLength() != 0);        /* 選んだファイルを表示 */ AfxMessageBox((*m_pRecentFileList)[nIndex]); CHogeView *myview = new CHogeView(); ★ myview->GetDocument()->SetFilePath((*m_pRecentFileList)[nIndex]); AfxMessageBox(myview->GetDocument()->GetFilePath()); myview->ReadFile((*m_pRecentFileList)[nIndex]); TRACE2("MRU オリジナル関数内: open file (%d) '%s'.\n", (nIndex) + 1, (LPCTSTR)(*m_pRecentFileList)[nIndex]); if (OpenDocumentFile((*m_pRecentFileList)[nIndex]) == NULL){ m_pRecentFileList->Remove(nIndex); } return TRUE; } /****************************************************************** ファイル読み込み ******************************************************************/ void CHogeViewerView::ReadFile(CString filename){ ...(省略) } コンパイルはできるのですが、どうやら★のところがうまく行かず、 Debug Assertion Failed! とエラーがでます。 何が原因なのでしょうか?

  • SDIアプリ内からもう一つSDIを作成する方法

    開発環境:WindowsXPSp3 + VC++2010 SDIの単純なアプリケーションと、スタティックリンクしているDLL(拡張DLL)があります。 exeのツールバーにあるボタンをクリックすると、DLL内にあるCreateNewWindowという関数を呼ぶようになっています。 このCreateNewWindowでは以下のようなコードが書かれています。 ------------------------------------------------------------------ CSingleDocTemplate* g_pNewWnd ; // グローバル void WINAPI CreateNewWindow() {   if( NULL == g_pNewWnd ) {     g_pNewWnd = new CSingleDocTemplate(       IDR_NEWWINDOW,       RUNTIME_CLASS( CSDIWndDoc ),       RUNTIME_CLASS( CSDIWndFrame ),       RUNTIME_CLASS( CSDIWndView )     );     CDocument* pDocumanet = g_pNewWnd->OpenDocumentFile( NULL ) ;   } } ※初期化や破棄処理は適宜行っているものとします。 ------------------------------------------------------------------ このように、Exeのほうに1つのSDIが存在している状態で、さらにDLL内で別のSDIのウィンドウを作成することは許されるのでしょうか? 実行すると、一応、ウィンドウは作成されるのですが、これらのフレーム内でCMFCToolBarを作成すると、DLLのこの関数でSDIを作成した時点でexe側のツールバーがおかしくなります。 具体的にはDLLのリソースにあるツールバーがexeのツールバーとして不完全な状態で反映され、DLLで作ったSDIウィンドウでは、ツールバーの領域だけ確保されてなにも無い状態です。 この関数を実行するまではexeのツールバーは正常に表示・動作しています。もちろん、リソースIDがユニークになているのは確認済みです。 やりたいことは、SDIやダイアログなどからボタンを押したら動的にSDIのウィンドウを生成して提供するDLLを作成したいのです。 参考になるサイトや書籍、アドバイスを頂けませんでしょうか。 よろしくお願いします。

  • 最近使ったファイルからファイル名を取得したいです。

    現在、VC++、MFC,SDIでプログラムを作成しています。 自動でできるメニュー項目の中に、「最近使ったファイル」というものがあるのですが、 これをクリックすることでタイトルバーがその名前に更新されるようですが、この情報を取得することで ファイル名を出力するにはどうすればよろしいでしょうか? (AfxMessageBoxで出力するだけで大丈夫です)

  • VC++2003でMFCアプリを作成しています。

    最近使ったファイルに書き込みをプログラム上でしたいのですが、どのクラスのどのメソッドで行われているのでしょうか? .iniファイルに書き込まれているところまではわかったのですが、どの.iniファイルに書き込まれているかもわかりません。 OSはXPになりますが、Vista、7のときも知りたいです。 どなたか教えていただけませんでしょうか?

  • 【携帯アプリ開発について】

    初めまして。こんばんは。 私は最近、オープンアプリの開発を始めた者です。 開発環境として、 『Wireless Tool Kit 2.5.2』 『JDK 5.0』 『JDK 6u23』 をインストールしました。 アプリゲットやauのオープンアプリ開発ページやネット上のサイトを見ながら、途中何度も躓きつつも、何とかHelloWorldの作成まではこれました。 しかし、サンプルである「BroomFight」を作り、アップロードしてダウンロードするという所で躓いてしまいました。 一応ビルドまでは成功したのですが、その後、実行をしてみても、 エミュレータにはBroomFightという文字は表示されるのですが、エミュレータの決定ボタンを押しても何も始まりませんでした。 そこで、サイトにアップロードして携帯でダウンロードすれば出来るようになるのかと思い、 「QWE」というサイトにテスト投稿して自分でダウンロードしてみましたが、 ダウンロードする段階で、画面が真っ白なまま何も表示されませんでした。 JARファイルは分かるのですが、もしかするとJADファイルを勘違いして投稿しているかもしれないという事と、 QWEでは、HTMLファイルは投稿する必要が無かったので使っていないのですが、それが原因でしょうか;? 他の色んなサイト等でも質問をさせて頂いたのですが、どこで質問をしても、まともな返答が返されず、 「その時点で無理だろ。諦めろ」とか 「論外。投稿自重」 等、小バカにするだけで何のアドバイスも無い回答だけがきました。 どなたか、携帯アプリの作成に詳しい方がいらっしゃいましたら、回答よろしくお願い致します。

  • アプリで表示する動画ファイルについて

    弊社システム会社で主にBtoB向けのアプリ開発を行っております。 iphoneで簡単なデモアプリをつくることになり、 10秒ぐらいのCG動画をループさせるアプリを開発しようとしております。 その際アプリにのせる動画ですが、mp4(h264)を想定しております。 アプリにのせる動画に関して、一般的にどのような以下の条件になるのでしょうか? ・動画ファイルの拡張子 ・動画ファイルの容量(サイズ) ・動画ファイルの解像度 ・お勧めのエンコードソフト お手数ですがご教授頂きますと幸いです。

SH-4dとLogicのトラックミュート
このQ&Aのポイント
  • Logic pro XでSH-4dを外部音源+オーディオインターフェースとして使用時、Logicのトラックで[M]ボタンを押してもSH-4dの音がミュートされません。
  • 外部音源はミュートされてもSH-4d本体はミュートされず音が出ている様です。
  • 外部音源+オーディオインターフェースを使用する際の仕様や設定方法に関する知識をお持ちの方、回答をお待ちしています。
回答を見る