GPGAのやる気を持続する開発および、研究日記

2013-04-18

[]ダイアログ生成時にウインドウハンドルがNULLになるが、GetLastErrorは0を返す問題の対応 20:15

WINAPIのDialogBoxやCreateDialogでウインドウを作成した場合

WM_INITDIALOGのメッセージが飛んでくるわけだが、なぜか0x0090が飛んできた後に

WM_DESTROYが来て終了してしまうというパターンが存在する。


なお海外の掲示板ではこのようなパターンも存在するらしいが今回は別のパターンがあることを紹介しよう。


使用しているダイアログの中に、dllを事前にロードしておかなくてはいけないものが存在する。

例えばリッチエディットである。

リッチエディットは"Riched20.dll"をLoadLibraryを用いて事前にロードしておく必要がある。


これを行っておかないと上記のようにWM_INITDIALOGが来る前に終了してしまう。

GetLastErrorは正常値を返すために、中々問題に気づくことができない。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/GPGA/20130418
リンク元