MFCでどのイベントか知りたい – プログラミング – Home

MFCでどのイベントか知りたい
 
通知
すべてクリア

[解決済] MFCでどのイベントか知りたい


アロハロハ
 アロハロハ
(@アロハロハ)
ゲスト
結合: 22年前
投稿: 2
Topic starter  

環境は、Win2000(SP3)、VC6.0、MFCです。

MFCでプログラムを作成しているのですが、

新規作成(OnNewDocument())のイベントが、
メニューから選択されてきたのか、
それとも起動時にOnNewDocument()を
呼ばれて来たのかを知りたいのです。

コールスタックを見たところ
同じ流れできているようです。

「メニューから選択された」という
状態が分かれば良いと思うのですが・・

助言等よろしくお願いします。


引用未解決
トピックタグ
Daisuke
 Daisuke
(@Daisuke)
ゲスト
結合: 22年前
投稿: 11
 

同じ物が呼ばれているわけですから呼ばれてから区別するのは難しいです。
誰から呼ばれたか、で判断するしかないですね。

起動時に呼ばれるときは、
C**App::InitInstance()の中の
cmdInfo.m_nShellCommandに値がセットされます.

ParseCommandLine(cmdInfo);の後で

if(cmdInfo.m_nShellCommand == CCommandLineInfo::FileNew)
{
//ご希望の処理、例えば
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;
}
//なんてすれば、起動時に新規作成されないようにできます。

メニューから選択された時は、項目のIDから独自のハンドラを作成
(クラスウィザードからメンバ関数を作成)し、そこでフラグを立てるとか
ですかね。


返信引用
アロハロハ
 アロハロハ
(@アロハロハ)
ゲスト
結合: 22年前
投稿: 2
Topic starter  

Daisukeさんどうもありがとうございました。
おかげさまで期待する処理ができました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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