• ベストアンサー

VC++のエディットボックスの非表示

VC++で、ダイアログを作りました。 エディットボックスを置いているのですが、 このエディットボックスは始めは非表示(入力を受け付けない)にするため、 このエディットボックスのプロパティにある "Disable"をtrueにして"Visible"もtrueにしました。 そこまではよかったのですが、 「入力」ボタンを押すと、エディットボックスが白く表示され、入力を受け付けるというようにしたいのですが、 エディットボックスのプロパティを変更する関数というのはあるのでしょうか? いろいろ検索などをしているのですが、方法がわかりません。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Senna_FF
  • ベストアンサー率45% (153/334)
回答No.1

以前、CWndクラスを使用してくださいと回答したものです。 説明がたりなくてすみません。 コントロールの親クラスは、CWndなので操作関数が使えます。 ↓ ボタン1を押すとテキスト1が活性化 void CAboutDlg::OnBnClickedButton1() { CWnd* pWnd = GetDlgItem(IDC_EDIT1); pWnd->EnableWindow(TRUE); } こんな感じです。コントロールIDを指定して、他のコントロールの オブジェクトハンドルも取得可能です。

11sakisaki11
質問者

お礼

こちらこそすいません!! てっきりウィンドウ用なのだと勘違いしていました (><) うまくいきました。 ありがとうございました!!!

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • 3dori3
  • ベストアンサー率20% (4/20)
回答No.2

補足です。 CEdit::SetReadOnly こちらの関数はどうですか?こちらのほうがよりきれいに表示が出来ると私は思いますが、お好みでどうぞ。 DisableプロパティはCWnd::EnableWindow() VisibleプロパティはCWnd::ShowWindow() の関数で操作できると思います。 状況がよくわかりませんが、CEditならCEditの親クラスであるCWndの関数も使用できます。 使用方法はMSDNをご覧ください。

11sakisaki11
質問者

お礼

ありがとうございます。 SetReadOnlyという関数は初耳ですが、調べてみたいと思います!

すると、全ての回答が全文表示されます。

関連するQ&A