動的に作ったコントロールを削除するには?

解決


イナ  2006-06-20 04:16:24  No: 62240

お世話になります。VC++6.0/XP/ダイアログベースで開発している初心者です。

WindowProcのWM_CREATEで
ボタンコントロールをCreateWindows関数を使って
動的に生成する事は出来たのですが
作成したボタンを削除するには、どうすれば宜しいのでしょうか。

イメージ的には、ボタンが沢山あるメインメニューの画面から
特定のボタンが押された時に、新規のメニューへ
移行するように見せかけて、実際は、同じダイアログを使い
画面をクリアして、ボタンを作成し直すものが作りたいのですが。

ネットで調べておりますが、なかなか辿りつけて
おりません・・。
この考え方自体、間違っていますでしょうか。

どうかご教示願います。


もふ  2006-06-20 05:37:34  No: 62241

> ボタンコントロールをCreateWindows関数を使って
CreateWindowのことでしょうか?

それならDestroyWindowで削除できますよ。
ネットで調べて辿りつけないってことは、違う?

DestroyWindow( GetDlgItem( hWnd, ボタンのID ) );
って感じでやるといいです。

ボタンIDはCreateWindowのHMENUの引数(第9引数?)で指定した値です。

> この考え方自体、間違っていますでしょうか。
プログラムは自由だ!
いや、普通にいいと思う。


もふ  2006-06-20 05:40:18  No: 62242

申し訳ない。
CreateWindowsって関数があるみたいですね。
「CreateWindows」でググッたら2千件以上ヒットしたorz


イナ  2006-06-20 19:21:15  No: 62243

>もふ様
回答下さいまして、有難うございます。
いえ、小生が間違えておりました。「CreateWindow」です^^;
DestroyWindow、試させて頂いたところ、ボタンが削除されました!!
ずっと、Delete〜で調べておりました。(関数があるとしたら、Deleteだと)
本当に有難うございました。
プログラムは自由・・・、格好いいお言葉ですね。


蛇足ですが。  2006-06-20 19:43:16  No: 62244

new/delete
create/destroy
add/remove
などで対応してる気がします。


イナ」  2006-06-21 01:54:49  No: 62245

>蛇足ですが。さん

回答下さいまして、有難うございます。
Deleteに対応する言葉って、Newですね・・・。
探しているときは、全然気づきませんでした。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加