通知
すべてクリア
Topic starter
2000年9月25日 6:13 PM
はじめまして。
ダイアログ絡みのプログラミングをしているのですが、他のダイアログにある
チェックボックスの状態を取得したいのですが、その方法を教えて下さい。
通常だとこんな感じだと思うのですが…。
<例>
CButton cCheck;
状態 = cCheck.GetCheck();
2000年9月27日 1:27 AM
おそらくRavenさんがやろうとしていることは、APIを直接たたかないとつらいと思います。
要は、
1,EnumWindowsExで目的のダイアログのハンドルをゲットする。
このとき、タイトルバー、クラス名(C++のクラスではなくWinAPIで言うところのクラス)
等を使って、目的のダイアログを識別します。
クラス名はSpy++等で調べましょう。
2,GetDlgItemでチェックボックスのハンドルをゲットする。
このとき、目的のチェックボックスのIDが必要になります。
1と同様に、Spy++で調べておきます。
3,さらに、そのハンドルに対してBM_GETCHECKを送り、状態をゲットする。
の3ステップが必要です。2,3に関してはMFCでも可能ですが、1がAPIでないと出来ません。
ちなみに、3はCButton::GetCheckと同じです。
Topic starter
2000年9月27日 12:08 PM
回答有り難うございました。
ボタンの状態を取得することが出来ました。