На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Custom Controls



Applications can create custom controls to perform tasks not supported by predefined controls. Windows provides the following ways to create custom controls:

· Use owner-drawn buttons, list boxes, and combo boxes.
· Subclass an existing control-window class.
· Register and implement from scratch an application-defined window class.



Buttons, list boxes, and combo boxes have owner-drawn styles available that direct the control to send a message to the parent window whenever the control must be drawn. This feature permits an application to alter the appearance of a control. For buttons, the owner-drawn style affects how the system draws the entire control. For list boxes and combo boxes, the parent window draws the items within the control, and the control draws its own outline. For example, an application can customize a list box so that it displays a small bitmap next to each item in the list.

An application can designate list boxes, combo boxes, and buttons as owner-drawn controls by creating them with the appropriate style. When a control has the owner-drawn style, Windows handles the user's interaction with the control as usual, performing such tasks as detecting when a user has chosen a button and notifying the button's owner of the event. However, because the control is owner drawn, the parent window of the control is responsible for the visual appearance of the control. For more information about owner-drawn controls, see the individual topics for buttons, list boxes, and combo boxes.

Subclassing an existing control is another way to create a custom control. The subclass procedure can alter selected behaviors of the control by processing those messages that affect the selected behaviors. All other messages pass to the original window procedure for the control. For example, an application can display a small bitmap next to the text in a read-only, single-line edit control by subclassing the control and processing the WM_PAINT message. For more information about subclassing, see Window Classes.

Although an application may subclass a predefined control, it relies on the window procedure of the control to provide all other aspects of the control's behavior. For more information about a control's behavior, see the individual topics for the predefined controls.
An application can create custom controls by registering an application-defined window class and specifying the name of the window class in the CreateWindowEx function or in the dialog box template. The process for registering an application-defined window class for a custom control is the same as for registering a class for an ordinary window. Each class must have a unique name, a corresponding window procedure, and other information.

At a minimum, the window procedure draws the control. If an application uses the control to let the user type information, the window procedure also processes input messages from the keyboard and mouse and sends notification messages to the parent window. In addition, if the control supports control messages, the window procedure processes messages sent to it by the parent window or other windows. For example, controls often process the WM_GETDLGCODE message sent by dialog boxes to direct a dialog box to process keyboard input in a given way.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Заказные Элементы управления



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

Использование сделавшее кнопками владельца, ящики списка, и combo ящики.
Подкласс управляющее окно существующего класса.
Регистр и принадлежность из царапины определенный прикладной класс окна.



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

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

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

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

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


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz