Здравствуйте newser, Вы писали:
N>Очень нужно прилепить к Edit Controlу, нарисованному в Dialog Editor
N>Spin Control (не рисуя!), установить им обоим один диапазон значений
N>и проверять значение, введенное с клавиатуры.
... skiped
Можно воспользоваться
SubclassDlgItem. Я сделал следующим образом:
Создал класс
class CEditSpin : public CEdit
{
.......
CSpinButtonCtrl m_wndSpinCtrl;
.......
};
1. На диалоге есть
CEdit c ID = IDC_MYEDIT.
2. Добавляем в диалог
CEditSpin m_wndEditSpin;
3. В
OnInitDialog():
m_wndEditSpin.SubclassDlgItem(ID IDC_MYEDIT, this);
m_wndEditSpin.AddSpin();
где:
void CEditSpin::AddSpin(void)
{
CRect rect;
GetWindowRect(rect);
m_wndSpinCtrl.Create(UDS_ALIGNRIGHT | UDS_SETBUDDYINT | UDS_ARROWKEYS | WS_CHILD | WS_VISIBLE , rect, GetOwner(),0);
m_wndSpinCtrl.SetRange(1, 100); // MinValue, MaxValue
m_wndSpinCtrl.SetBuddy(this);
}
Если на диалог Вы CEdit ручками кидаете то реализацию AddSpin() просто перенести в OnCreate().