掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
子ウィンドウについて (ID:51059)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> static HWND hWndChild = CreateWindow( > szClassEditName, > "Edit", > WS_CHILD | WS_VISIBLE | WS_SYSMENU | WS_CAPTION | > WS_MINIMIZEBOX | WS_CLIPSIBLINGS, > x0, y0, cx, cy, > hWnd, > NULL, > hInst, > NULL > ); > 親ウィンドウからこんな感じで呼び出しています。 staticについて,ちゃんとわかっているのでしょうか? 関数内のstatic変数は,その関数が最初に呼び出されたときのみ初期化されます。 つまり,このCreateWindowは最大で一度だけ呼び出されます。 > ここで聞きたいのが、子ウィンドウにはメニューコントロールの表示はできないのでしょうか? できないです。 http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/resources/menus/aboutmenus.asp に, >Only an overlapped or pop-up window can contain a menu bar; a child window cannot contain one. とあります。 > 仮に、この方法でWS_POPUPWINDOWでメニュー表示をさせ、その中の機能の1つにこの子ウィンドウを閉じるというイベントを入れた のですが、この時は, > DestroyWindow(hWnd)にて呼び出し、子ウィンドウは閉じるのですが、もう一度親ウィンドウから子ウィンドウを呼び出すともう子ウィンド ウが表示されないのです。デバッグではどうやら、子ウィンドウに入り、上記の(wc.lpfnWndProc) > 設定でいうEditProgのメッセージの処理をするイベントが起こらないのです。 > デバッグで一回だけ子ウィンドウを表示出来るときは、イベントは起きてるのですが、子ウィンドウを閉じて2度目からはもうイベントが起 きません。 そりゃ,DestroyWindowによって,hWndChildは正規なウィンドウではなくなっていますから。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.