Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Библиотека классов Microsoft Foundation (MFC) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.
Вы можете добавить элементы управления в диалоговое окно с помощью редактора диалогов или добавить их самостоятельно с кодом.
Чтобы создать объект элемента управления самостоятельно, обычно вы встраиваете объект элемента управления 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