Пользовательские элементы управления

Приложения могут создавать пользовательские элементы управления для выполнения задач, не поддерживает встроенные элементы управления. Win32 API предоставляет следующие способы создания пользовательских элементов управления:

С помощью элементов управления, рисуемого владельцем

Кнопки, списки и поля со списком имеют рисуемого владельцем стили доступные прямого управления для отправки сообщения родительского окна, всякий раз, когда элемент управления должен сделать. Эта функция позволяет приложению изменять внешний вид элемента управления. Для кнопок рисуемого владельцем стиль влияет, как системы рисует всего элемента управления. Для списков и полей со списком родительского окна рисует элементы в элементе управления, и элемент управления рисует свои собственные структуры. Например приложение может настроить поле со списком так, чтобы он отображает небольшое растровое изображение рядом с каждым элементом списка.

Приложение может назначить списки, поля со списком, кнопки и пользовательские элементы управления, создавая их с соответствующим стилем. Когда элемент управления имеет стиль, рисуемого владельцем, система обрабатывает взаимодействие пользователя с элементом управления как обычно, выполняя такие задачи, как выявления когда пользователь выбрал кнопку и уведомления владельца кнопки события. Однако поскольку элемент управления является рисование владельцем, родительского окна элемента управления отвечает за внешний вид элемента управления. Для получения дополнительных сведений об элементах управления, рисуемого владельцем см. владельцем кнопок, рисуемого владельцем списков и полей со списком, рисуемого владельцем .

Создание подклассов класса Window существующего элемента управления

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

Хотя приложение может подкласс предопределенного элемента управления, он полагается на процедуре окна элемента управления для обеспечения всех аспектов поведения элемента управления. Для получения дополнительных сведений о поведение элемента управления в разделе отдельных для стандартных элементов управления.

Реализация определяемого приложением класса окна

Процесс регистрации определяется приложением окна класса для пользовательского элемента управления для регистрации класса для обычного окна не отличается. Для создания пользовательского элемента управления, указав имя класса окна в CreateWindowEx функции или в шаблоне поля диалогового окна. Каждый класс должен иметь уникальное имя, соответствующее процедуре окна и другая информация.

Как минимум процедура окна рисует элемент управления. Если приложение использует элемент управления для пользователя сведения о типе, процедура окна также обрабатывает входные сообщения от клавиатуры и мыши и отправляет сообщения уведомления родительскому окну. Кроме того если элемент управления поддерживает управляющих сообщений, Оконная процедура обрабатывает сообщения, отправляемые родительского окна или другие окна. Например элементы управления часто обрабатывать WM_GETDLGCODE сообщение, отправленное диалоговые окна для руководства диалоговое окно для обработки ввода с клавиатуры на данной основе.

Index