CWinApp::WinHelp()のオーバーライド – プログラミング – Home

通知
すべてクリア

[解決済] CWinApp::WinHelp()のオーバーライド


やま
 やま
(@やま)
ゲスト
結合: 22年前
投稿: 23
Topic starter  

Visual C++ 6.0 から Visual Studio 2008 に更新し、プロジェクトを移行しました。
ソフトウェア自体は問題なく動作するのですが、F1 キーヘルプが動作しなくなってしま
いました。というよりは既定の動作になってしまいました。いわゆる ...HLP ファイル
が見つからないと言うメッセージボックスが出てくるものです。

MFC で作成しており、CWinApp::WinHelp() をオーバーライドして、実際にはHtmlHelp
() によりヘルプを表示しておりましたが、F1 キーを押しても CxxxxApp::WinHelp に処
理がわたってきません。
これは Visual Studio 2008 に限らず Visual Studio 2005 などでも同じなのでしょう
か。
F1 キーヘルプの処理はどのようにすべきなのでしょうか。

P.S.
結構たくさんのプロジェクトがあるのですが、中にはプリコンパイル済みヘッダを使う
と必ずコンパイルエラーやリンクエラーが発生するプロジェクトがあり、原因不明で困
っています。
設定が悪いのか、Visual Studio 2008 のバグなのやら???


引用未解決
トピックタグ
やま
 やま
(@やま)
ゲスト
結合: 22年前
投稿: 23
Topic starter  

自己解決しました。

どうあがいても CWinApp::WinHelp() には飛んでこず。
MFC のソースを追いかけたところ、解決策は CMainFrame::WinHelp() をオーバーライド
して ::AfxGetApp()->WinHelp(dwData, nCmd) により以前と同様の動作をするようにな
りました。

こういうものだろうか...
アプリケーションクラスの ON_COMMAND(ID_HELP, &CXXXXApp::OnHelp) は一体...


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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