Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы можете добавить элементы управления в диалоговое окно с помощью редактора диалогов или добавить их самостоятельно с кодом.
Чтобы создать объект элемента управления самостоятельно, обычно вы встраиваете объект элемента управления C++ в диалоговое окно C++ или объект окна кадра. Как и многие другие объекты в платформе, элементы управления требуют двухэтапного построения. Вы должны вызвать член-функцию Create элемента управления в рамках создания родительского диалогового окна или окна рамки. Для диалоговых окон обычно это делается в OnInitDialog и для окон фрейма в OnCreate.
В следующем примере показано, как вы можете объявить объект CEdit в декларации производного диалогового класса и затем вызвать функцию-член Create в OnInitDialog.
CEdit Так как объект объявлен как внедренный объект, он автоматически создается при создании объекта диалогового окна, но он должен быть инициализирован с помощью собственной Create функции-члена.
class CCustomDialog : public CDialog
{
CEdit m_edit;
virtual BOOL OnInitDialog();
};
Следующая OnInitDialog функция настраивает прямоугольник, а затем вызывает Create создание элемента управления редактирования 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