Access 2002

Дескриптор окна


В Windows, как и в Access, практически каждый элемент интерфейса представляет собой объект, обладающий свойствами и методами. Большинство этих объектов являются окнами. К таковым относятся, например, кнопки, полосы прокрутки, диалоговые окна и строки состояния. Чтобы управлять всеми этими окнами, Windows присваивает каждому из них уникальный идентификатор (длинное целое), называемый дескриптором окна. Обычно для дескрипторов окон используется аббревиатура hWnd (handle to a window). Access позволяет получить дескриптор окна формы, хранящийся в ее свойстве hWnd. (Как и многие другие свойства, свойство hWnd доступно только во время выполнения приложения, и вы не найдете его в окне свойств формы.)

Каждое окно относится к какому-нибудь классу. Окна одного и того же класса имеют общие события и код, поэтому они одинаково реагируют на внешние воздействия. Так, все полосы прокрутки относятся либо к классу SCROLLBAR, либо к производному от него классу. (В действительности не все полосы прокрутки обязательно принадлежат этому классу, так как программист может создать полосу прокрутки самостоятельно, с нуля. Ведь полоса прокрутки — это растровое изображение плюс программный код. Но так редко кто поступает, поскольку стандартный класс SCROLLBAR позволяет создавать полосы прокрутки с минимальными усилиями со стороны программиста.) В Access имеется собственный набор классов окон, часть которых перечислена в  7.3 вместе с их родительскими классами (на это следует обратить особое  в следующем разделе при рассмотрении используемого в Access многодокументного интерфейса (MDI)). На  7.23 представлена простая иерархия этих классов окон.

В отличие от Visual Basic, элементы управления Access не являются отдельными окнами и не имеют свойства hWnd. В Access элемент управления — это всего лишь «картинка на экране», и окном он становится только при получении фокуса.

Комментарии закрыты