VC++で入出力可能なテキストボックスを読み込み専用に属性を変更する方法についておしえてください。

※動的に変更する方法でお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/02/14 20:16:01
  • 終了:--

回答(4件)

id:lupu No.1

lupu回答回数214ベストアンサー獲得回数02006/02/14 20:28:17

ポイント18pt

http://www.hatena.ne.jp/1139915761

人力検索はてな - VC++で入出力可能なテキストボックスを読み込み専用に属性を変更する方法についておしえてください。 ※動的に変更する方法でお願いします。 ..

テキストボックスのウィンドウハンドルをhEditとします。

SetWindowLong(hEdit, GWL_STYLE, GetWindowLong(hEdit, GWL_STYLE)|ES_READONLY);

これでOKです♪

(※逆にはずす時は、排他的論理輪を使います。)

id:ohmix1 No.2

ohmix1回答回数235ベストアンサー獲得回数142006/02/14 20:43:17

ポイント18pt

http://forums.belution.com/ja/vc/000/311/14s.shtml

[00031114](SET)] EDIT のリードオンリー属性を動的に変更したい

CEditクラスの SetReadOnly(TRUE/FALSE) を利用するのがスマートだと思います。

id:aki73ix No.3

aki73ix回答回数5224ベストアンサー獲得回数272006/02/14 20:43:21

ポイント17pt

http://forums.belution.com/ja/vc/000/134/12.shtml

[00013412] エディットボックスを読み取り専用に

SendDlgItemMessage(hDlg,IDC_EDIT1,EM_SETREADONLY,true,0); // True なら読み込み専用,Falseなら解除

もしくは

SendMessage(GetDlgItem(hDlg,IDC_EDIT1),EM_SETREADONLY,true,0);

で可能です

EM_SETREADONLYをメッセージで送ってやることで制御するのが一般的だと思います

これは今作ったサンプルです

id:tezcello No.4

tezcello回答回数460ベストアンサー獲得回数692006/02/14 22:09:15

ポイント17pt

http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200502...

コード内でダイアログを読み取り専用に。

CEdit::SetReadOnly で変更できるようですね。


僕なら、リソースエディタでそのテキストボックスにコントロール変数を m_EDIT1 のように割当て(右クリックで出来ますよね)

必要なところで、

m_EDIT1.SetReadOnly(0); // 入力可

または、

m_EDIT1.SetReadOnly(0); // 入力不可

とします。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません