掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ダイアログのプロシージャからメインウィンドウの子コントロールを作成するには? (ID:53337)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
こんにちわ!SELNAさん nさんありがとうございます IsWindow関数を調べて 使ってチェックしてみましたところ・・ //ダイアログプロシージャ内 Dhwnd=GetParent(hwnd); if(!(IsWindow(Dhwnd)))MessageBox(hwnd,TEXT("有効じゃないみたいね"),TEXT("失敗"),MB_OK); else MessageBox(hwnd,TEXT("有効みたいね じゃあなんで?"),TEXT("有効じゃん"),MB_OK); 案の定 ”有効じゃないみたいね”と言われてしまいました IsWindow関数の解説をしてくれていたサイトに 「IsWindow()はウィンドウがなければFALSE、すなわち0が返るのですが、ウィンドウがあるときはTRUEが返るとは限らないのです。単に0以外としかなってません。」 とかいてあったので10回くらい試してみましたが やっぱり有効じゃないみたいでした ということはnさんの言うとおり ダイアログが親を持ってないっていうなんでしょうか・・ ダイアログはリソーススクリプトで記述して メインウインドウプロシージャのWM_CREATEを処理する部分で CreateDialog( (HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE), TEXT("TOUROKU"),hwnd,DialogProc ); として作成していたんですが もしかしてこれじゃメインウィンドウの子ウィンドウとして 作成されたことにならないのでしょうか だとしたらGetParentで自らの親ウィンドウのハンドルを 受け取ろうとしても空振りですよね・・
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.