none
印刷ダイアログをカスタマイズする RRS feed

  • 質問

  • いつも大変お世話になっております。

    C++6.0で、印刷ダイアログをカスタマイズして使用していました。

    今回、それをVS2008に移植して使おうとしたところ、

    dlg.DoModal()CALL直後に、ダイアログ表示もなくスルーされてしまいます。

    dlg.DoModal()の直前にdlgの内容を見てみると、

    hWnd=0x00000000となっています。

    もし同じような経験をお持ちの方がおられましたら

    ご教授のほど、よろしくお願いいたします。

     

     

    2011年11月2日 7:20

回答

  • 経験がないので推測が難しいと思っていますが、少しだけ。

    DoModal を呼び出す直前は、ウィンドウ(ダイアログ)が生成されていないのですから、m_hWnd が NULL(0) になるのは普通だと思ったのですが、何かとらえ違いがありますか?

    あと、DoModal での挙動がおかしいのであれば、ステップインしてどこでどういう抜け方をしているか見極めてはいかがでしょうか。正常に動く環境とステップインでの挙動の違いを見れば、どの関数で失敗しているかを特定できそうなので。
    特定できた場合、エラーコードで何か得られないかというところで絞っていくとよいでしょう。


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    • 回答としてマーク kizakura_ui 2011年11月4日 2:07
    2011年11月2日 13:10
    モデレータ

すべての返信

  • 経験がないので推測が難しいと思っていますが、少しだけ。

    DoModal を呼び出す直前は、ウィンドウ(ダイアログ)が生成されていないのですから、m_hWnd が NULL(0) になるのは普通だと思ったのですが、何かとらえ違いがありますか?

    あと、DoModal での挙動がおかしいのであれば、ステップインしてどこでどういう抜け方をしているか見極めてはいかがでしょうか。正常に動く環境とステップインでの挙動の違いを見れば、どの関数で失敗しているかを特定できそうなので。
    特定できた場合、エラーコードで何か得られないかというところで絞っていくとよいでしょう。


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    • 回答としてマーク kizakura_ui 2011年11月4日 2:07
    2011年11月2日 13:10
    モデレータ
  • ご指導ありがとうございます。

    さらに細かくデバッグを行ってみます。

    2011年11月3日 23:08