ダイアログボックスのMFCで作成しています。
ダイアログクラスの処理の中で、メッセージボックス関数を実行すると
普通に実行されるのですが、実行場所をグローバル関数の中に持っていくと
エラーが起こってしまいます。
どうすればグローバル関数の中でメッセージボックスを表示できるのでしょうか?
<例>
①Onbottan関数の中でメッセージボックスを呼び出す。(これはOK)
②Onbottan関数の中でグローバル関数Aを呼び出す。
グローバル関数Aの中にはメッセージボックスを呼び出す記述がある(これは駄目)
どのようにメッセージボックスを呼び出したのでしょうか?
MFC をお使いなのでしたら MessageBox()、::MessageBox()、AfxMessageBox() の
違いはお分かりでしょうか?
1.ここでいう『メッセージボックス関数』とは正確には何ですか?
2.ここでいう『エラーが起こってしまう』とは具体的はどうなるのですか?
あ、かぶっちゃった、すみません。
MessageBoxです。
違いは分かりません。
エラーってのはコンパイルエラーなんですかね?
MessageBoxとだけ書いた場合、書いた場所によって下記のどちらかが呼ばれます。
CWnd::MessageBox - CWndのメンバ関数
::MessageBox - WindowsAPI
詳細はMSDNで調べてください。
MessageBox(asdf)
error C2660: 'MessageBoxA'
というコンパイルエラーが発生します。
/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*
どうも引数の数がヘルプと見比べてみたところ異なっていました。
AfxMessageBoxと混同していたようです。
ありがとうございました。