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


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


В тол) случае, когда инструментом является область окна, размеры и/или положение которой изменились, окну подсказки необходимо послать сообщение ТТМ NEWTOOLRECT для того, чтобы подсказка появлялась в нужном месте. wParam этого сообщения всегда равен 0.

Тай .1 и и а 40 Идентификаторы временных интервалов

П„р

 

Значение

 

Описание

 

TTDT AUTOMATIC

TTDT RP.SHOW ТТГУГ"ЛЬ'ТОРОР TTDT INITIAL

 

0 1

 

Все интервалы вычисляются автоматически на основе IParam Определяется интервал повторного отображения Определяется интервал отображения Определяется интервал инициализации

 

167

IParam этого сообщения должен указывать на структуру типа TOOLINFO, поля hwnd и uld которой должны определять инструмент, а поле rect - новые границы инструмента. В том случае, когда инструмент реализован как окно, информировать подсказку о его изменении не нужно, так как подсказка определит факт нахождения курсора в границах инструмента по хэндлу окна.

Перед своим отображением окно подсказки посылает родительскому окну нотификационное сообщение TTN_SHOW, а перед скрытием -TTN_POP. В данном случае нотификационные сообщения посылаются с помощью сообщения WM NOTIFY.

Для получения информации об инструменте программа может ис­пользовать сообщения TTM_GETCURRENTTOOL и TTMJ3ETTOOLINFO. Изменить информацию об инструменте можно с помощью сообщения TTM_SETTOOLINFO. Если программе требуется, чтобы подсказка с данным инструментом больше не работала, окну подсказки нужно направить сообщение ТТМ DELTOOL. Параметры этих сообщений однотипны и ничего сложного в них нет. Рекомендую читателю изучить работу этих сообщений самостоятельно.

Как уже было сказано, сами по себе окна подсказок не используются, поэтому демонстрационной программы я не приведу. Тем не менее, в разделе, посвященном закладкам, будут даны примеры другого способа использования подсказок, применимого, к сожалению, только к общим элементам управления, которые появились в Windows NT и Windows'95. В чем состоит этот способ? Дело в том, что при создании некоторых элементов управления можно указать стиль, позволяющий этим окнам реагировать на сообщения WMJNOTIFY с нотпфикационным кодом TTNJNEEDTEXT. Скажем, для закладок этот стиль называется TCSJTOOLTIPS, для панели инструментов - TBSJTOOLTIPS и т. д. В этих случаях родительскому окну элемента управления в качестве IParam сообщения WM_ NOTIFY передается указатель на структуру типа TOOLTIPTEXT, описание которой, находящееся в файле commctrl.h имеет следующий вид:




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



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