コントロールIDから
コントロールの種別を取得したいのですが
出来るのでしょうか?
例えば、下記みたいな事をしたいです。
CStatic s;
int type;
s = GetDlgItem(IDC_COMBOBOX_HOGE);
type = ??????? // コントロールの種別を取得
switch (type)
{
case EDITTEXT:
テキストの場合の処理
break;
case PUSHBUTTON:
ボタンの場合の処理
break;
case LTEXT
ラベルの場合の処理
break;
}
環境
WindowsXP以上
VC++6 MFC
以上、よろしくお願いします。
_TCHAR t[256];
if (::GetClassName(GetDlgItem(IDC_COMBOBOX_HOGE)->GetSafeHwnd(), t, _countof(t)) != 0) {
if (_tcsicmp(t, _T("BUTTON")) == 0) {
}
else if (_tcsicmp(t, _T("COMBOBOX")) == 0) {
}
:
}
でどうだろう。
> http://msdn.microsoft.com/en-us/library/ms632679.aspx
> http://msdn.microsoft.com/en-us/library/ms633574.aspx#system
システムクラス名の一覧は↑に載ってる。
GetClassName で、取得できました。
gakさん、ありがとうございました。
ツイート | ![]() |