Re: прилепить к Edit Controlу Spin Control
От: AlexRb  
Дата: 04.10.02 04:14
Оценка: 1 (1)
Здравствуйте 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().
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.