コントロールが有効か無効か判定するには? – プログラミング – Home

コントロールが有効か無効か判定するには...
 
通知
すべてクリア

[解決済] コントロールが有効か無効か判定するには?


まゆたん
 まゆたん
(@まゆたん)
ゲスト
結合: 24年前
投稿: 27
Topic starter  

こんにちは。

わたしは今、ダイアログベースでプログラムを作っているんですが、
下に書くようなやり方がわからなくって困っています。

CString a;
UpdateData(TRUE);
if(エディットボックスA(メンバ変数:m_editA)が有効)
{
   a=m_editA;
}else{
   a=";
}

これが、わたしのやりたいことです。
EnableWindow(TRUE(FALSE))をIF文の中で書いちゃうと、
そこでEnableWindow関数が実行されちゃって、
「今、そのコントロールが有効なのか」が
判定できないです。

例えば、

m_editA.○○○()==-1 ・・・無効
m_editA.○○○()!=-1 ・・・有効

の○○○のような関数があったらいいなって思ってます。

もちろん、こんな便利な関数はないかもしれないけれど、
もし、コントロールの有効・無効を判定できるような
方法があれば、教えてください。

よろしくお願いします。


引用未解決
トピックタグ
TADA
 TADA
(@TADA)
ゲスト
結合: 24年前
投稿: 28
 

MFCの人間でないのでAPIですが
IsWindowEnabled(hwnd)
というのがあります。
指定されたウィンドウに対するマウスやキーボードの入力が
許可されているかどうかを判断するものです。

戻値が
TRUE:入力が許可されている
FALSE:それ以外

これではだめですか?


返信引用
重
 重
(@重)
ゲスト
結合: 24年前
投稿: 84
 

MFCもAPIと同じ関数があります。(CWndのメンバ)

m_editA.IsWindowEnabled()でOKです。


返信引用
まゆたん
 まゆたん
(@まゆたん)
ゲスト
結合: 24年前
投稿: 27
Topic starter  

TADAさん、重さん、ありがとうございます。

みなさんの教えてくださったとおり、

m_edit1.IsWindowEnabled()

を使って、有効・無効の判定ができました。

他にも、「Is」が頭につく関数があるみたいですね。
だいたい「Is」が頭につく関数は、「.」の前のものの
状態をあらわすのかなぁ(IsWindowVisibleは「見えるかどうか」だし)?

TADAさん、重さん、とっても参考になりました。
いつもいつも初歩的な質問ばっかりで、
わたし以外の人の質問・発言を見てると、
わたしにはすごくムズカシイことばっかりで、
わたし一人、浮いてる感じがしますけど、
もっと勉強して、早く皆さんくらいのレベルに
なりたいなって思います。

これからもよろしくお願いします!


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました