掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
子ウィンドウについて (ID:51058)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
SDKにて作成しています。 親ウィンドウのメニュー選択から子ウィンドウを呼び出し子ウィンドウを表示しています。 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 ); 親ウィンドウからこんな感じで呼び出しています。 ここで聞きたいのが、子ウィンドウにはメニューコントロールの表示はできないのでしょうか?仮に WNDCLASS wc; // WNDCLASS構造体 ZeroMemory( &wc,sizeof(WNDCLASS) ); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = EditProg; wc.cbClsExtra= 0; wc.cbWndExtra= 0; wc.hInstance=hInst; wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); wc.hCursor= LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName= (LPCSTR)IDM_EDIT; //メニューの設定 wc.lpszClassName = (LPCSTR)szClassEditName; RegisterClass(&wc); //ウィンドウ クラスを登録 ウィンドウクラスにてメニュー設定をすれば、メニューコントロール表示します。 上記の設定でWS_CHILDはWS_POPUPは併用できないとヘルプで書いてあったので、WS_POPUPWINDOWを加えての話です。これも併用していいのかわからないのですが・・・このような場合はどうしたらいいのでしょうか? 子ウィンドウではいけないのでしょうか? ここで続けて書いていいのかわかりませんが、この話の続きですが、 仮に、この方法でWS_POPUPWINDOWでメニュー表示をさせ、その中の機能の1つにこの子ウィンドウを閉じるというイベントを入れたのですが、この時は, DestroyWindow(hWnd)にて呼び出し、子ウィンドウは閉じるのですが、もう一度親ウィンドウから子ウィンドウを呼び出すともう子ウィンドウが表示されないのです。デバッグではどうやら、子ウィンドウに入り、上記の(wc.lpfnWndProc) 設定でいうEditProgのメッセージの処理をするイベントが起こらないのです。 デバッグで一回だけ子ウィンドウを表示出来るときは、イベントは起きてるのですが、子ウィンドウを閉じて2度目からはもうイベントが起きません。 すいません、上記の2つの内容がわからなくて非常に困っています。 どなから教えてください。宜しくお願いします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.