Уроки Iczelion'а



         

Урок 27. Тултип-контрол - часть 2


тултип, неактивно.

Вам не нужно задавать слили WS_pOpUp и WS_EX_TOOLWINDOW, потому что тултип

определяет их автоматически. Вам также не нужно указывать координаты, ширину

и высоту тултипа: он сам рассчитывает свои характеристики, поэтому в качестве

всех четырех параметров мы указывает CW_USEDEFAULT. Оставшиеся параметры не

играют роли.

Определение tool'ов

Тултип создается, но не отображается сразу. Нам нужно, чтобы он отображался

только над определенной областью. Теперь пришло время задать ее. Мы называем

такую область 'tool'. Tool - это прямоугольная область клиентской части окна,

в пределах которой тултип будет отслеживать передвижение мыши. Прямоугольная

область может покрывать всю клиентскую часть окна или только некоторую долю

от нее. Поэтому мы можем поделить 'tool' на два типа: один - это, когда в

качестве tool'а выступает целая клиентская область окна, а другой -

прямоугольная часть клиентской области окна. Оба типа

находят свое применение.

Например, наиболее часто тултипы первого типа используются вместе с кнопками,

edit control'ами и так далее. Вам не нужно указывать координаты и размерность

tool'а: предполагается, что будет задействована вся клиентская область. Tool'ы

второго типа полезны, когда вы хотите поделить клиентскую часть окна на

несколько регионов без использования дочерних окон. В этом случае вам будет

необходимо задать координату верхнего левого угла, ширину и высоту tool'а.

Вы определяете характеристики tool'а в структуре TOOLINFO, которая имеет

следующее определение:

TOOLINFO STRUCT

cbSize DWORD ?

uFlags DWORD ?

hWnd * DWORD ?

uId DWORD ?

rect RECT <>

hInst * DWORD ?

lpszText DWORD ?

lparam LpARAM ?

TOOLINFO*ENDS

  • cbSize - размер структуры TOOLINFO. Вы должны заполнить этот

    параметр. Windows не будет отмечать ошибку, если это поле заполнено

    не правильно, но вы получите странные, непредсказуемые результаты.

  • uFlags - битовые флаги определяют характеристики tool'а.
  • TTF_IDISHWND - "ID - это hWnd". Если вы укажете этот флаг, вы




    Содержание  Назад  Вперед