Азбука программирования в Win32 API


Азбука программирования в Win32 API - стр. 137


163

Так как подсказка является окном, то для управления ею используют­ся сообщения. Их список сообщений с кратким описанием приведен в табл. 38. Рассмотрим наиболее часто используемые сообщения.

Для того чтобы подсказка работала с тем или иным инструментом, не­обходимо этот инструмент включить в список инструментов, с которыми работает окно подсказки. Для этого окну подсказки надо направить сообщение TTM_ADDTOOL. WParam этого сообщения должен быть равен 0, a IParam содержать указатель на структуру типа TOOLINFO. Эта структура описана в файле commctrl.h :

typedef struct tagTOOLINFOA {

UINT cbSize;

UINT uFlags;

HWND hwnd;

UINT uld;

RECT reel;

HINSTANCE hinst;

LPSTR IpszText; } TOOLINFOA, NEAR «PTOOLINFOA, FAR «LPTOOLINFOA;

typedef struct tagTOOLINFOW {

UINT cbSize;

UINT uFlags;

HWND hwnd;

UINT uld;

RECT rcct;

HINSTANCE hinst;

LPWSTR IpszText; } TOOLINFOW, NEAR *PTOOLINFOW, FAR *LPTOOLINFOW;

#ifdef UNICODE tfdcfine TOOLINFO

#define PTOOLINFO

#defme LPTOOLINFO

#else

tfdefine TOOLINFO tfdefine PTOOLINFO tfdefine LPTOOLINFO

#endif

TOOLINFOW PTOOLINFO W LPTOOLINFOW

TOOLINFOA PTOOLINFOA LPTOOLINFOA

Первое поле этой структуры - cbSize - должно содержать размер в байтах структуры типа TOOLINFO. Сам факт присутствия поля, содер­жащего такую информацию, говорит о том, что фирма Microsoft не исключает возможности изменения и/или дополнения этой структуры.

164

Таблица 39. Битовый файлы, определяющие вил и поведение подсказки

Фл;и

Значение

 

Описание

 

TTFJDISHWND

TTF CENTERTIP TTF_RTLREADING

 

0x0 1

0x02 0x04

 

Флаг установлен - поле uld содержит хэндл инструмент;!, иначе - идентификатор инструмента Центрирует подсказку под инструментом Отображает текст справа налево, как в арабском

 

 

 

 

 

Я'|ЫКС

 

TTF_SUBCLASS

 

Ох 10

 

Подсказка должна перехватывать сообщения WM MOUSEMOVE, адресованные инструменту

 

Следующее поле - uFlags - содержит флаги, определяющие внешний вид и поведение подсказки, а также представление информации в других полях этой структуры. Возможные флаги приведены в табл. 39.




Начало  Назад  Вперед



Книжный магазин