Поделиться через


Добавление элементов управления вручную

Можно добавьте элементы управления в диалоговое окно с помощью редактора диалоговых окон или добавить их самостоятельно, с кодом.

Чтобы создать объект управления самостоятельно, обычно требуется внедрить объект управления C++ в диалоговом окне " A " C++ или объекте фреймового окна. Как и многих других объектов в платформе, элементы управления для двухшагового построения. Следует вызвать функцию-член Создать элемента управления во время создания родительских диалоговое окно или фреймовое окно. Для диалоговых окон обычно это делается в OnInitDialog, и для фреймовых windows см. в разделе OnCreate.

В следующем примере показано, как можно объявить объект CEdit в объявлении класса в производном классе диалогового окна и последующего вызова функции-члена Создать в OnInitDialog. Поскольку объект CEdit объявлен как внедренный объект, автоматически при построении объекта диалогового окна, но все же необходимо инициализировать со своим функцией-членом Создать.

class CCustomDialog : public CDialog
{
   CEdit m_edit;
   virtual BOOL OnInitDialog();
};

Следующая функция OnInitDialog настраивает прямоугольник, а затем вызывает метод Создать для создания элемента управления "Поле ввода" Windows и вложить ее в неинициализированном объект CEdit.

BOOL CCustomDialog::OnInitDialog()
{
    CDialog::OnInitDialog();
    CRect rect(85, 110, 180, 210);

    m_edit.Create(WS_CHILD | WS_VISIBLE | WS_TABSTOP |
             ES_AUTOHSCROLL | WS_BORDER, rect, this, IDC_EXTRA_EDIT);
    m_edit.SetFocus();
    return FALSE;
}

После создания объект правки, можно также установить фокус ввода к элементу управления, вызвав функцию-член SetFocus. Наконец, можно возвратить 0 из OnInitDialog, чтобы указать, что необходимо установить фокус. Если возвращает ненулевое значение, то диспетчер диалогового окна устанавливает фокус на первый элемент элемента в списке элементов управления диалогового окна. В большинстве случаев требуется, чтобы добавить элементы управления в диалоговым окнам с редактором диалоговых окон.

См. также

Ссылки

Создание и использование элементов управления

CDialog::OnInitDialog

Основные понятия

Элементы управления (MFC)