Самостоятельное размещение tooltip в CToolbar

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Самостоятельное размещение tooltip в CToolbar

Re: Самостоятельное размещение tooltip в CToolbar

MDCI » 26 июн 2007, 14:31

Решил проблему :)

для каждой кнопки вызывается SetBarTip:
typedef TCHAR* TSTR;

CToolTipCtrl tool;
CToolBar m_wndToolBar;
...
...
void <MainClassDlg>::SetBarTip(int Index, TSTR Text, UINT id)
{
CRect rect;
m_wndToolBar.GetClientRect(&rect);
//int _h=rect.Height();
//rect.left+=Index*_h;
//rect.right=rect.left+_h;
tool.AddTool(&m_wndToolBar, Text, &rect, id);
}

затем (после всех назначений):

tool.Activate(TRUE);
m_wndToolBar.GetToolBarCtrl().SetToolTips(&tool);

Хотя Index можно было бы убрать.

P.S. Мож кому понадобится.

Re: Самостоятельное размещение tooltip в CToolbar

BBB » 21 июн 2007, 17:51

MDCI,
ведь ToolTip-ы поддерживают возможность динамического запроса иекста подсказки. Если прои добавлении к ToolTip-у Tool-а в качестве строки подсказки указать LPSTR_TEXTCALLBACK.
По-моему, можно порыть в этом направлении. Т.е. идея такова. Вызвать AddTool для каждого элемента Тулбара, указывая lpszText как LPSTR_TEXTCALLBACK и nIDTool - уникальный для каждого элемента Тулбара. Тогда в функции окна, которая будет получать уведомления-запросы "Дай текст подсказки" по этому самому ID можно определить, какой именно элемент "просит" подсказку и выдать в твет соответсвующую строку.

Если коротко, то вот как-то примерно таким образом.

Re: Самостоятельное размещение tooltip в CToolbar

MDCI » 21 июн 2007, 17:00

понятно, видимо придется "извращаться"... :)

Re: Самостоятельное размещение tooltip в CToolbar

Romeo » 21 июн 2007, 14:18

ну можно вычислить на какой кнопке курсор мыши. ведь у тулбара есть размеры окна и у енго можно получить размеры кнопок. и в зависимости от того, над какой кнопкой курсор - такую подсказку и выдавать.

Самостоятельное размещение tooltip в CToolbar

MDCI » 21 июн 2007, 13:04

Можно ли назначить в CToolBar в процессе выполнения тултип (подсказку), загружаемую с файла и т.п. (в программе используется языковый модуль). Слышал что это можно сделать с пом. CToolTipCtrl. Но вроде кнопка CToolbar отдельным классом CWnd не обладает... Или едиственный способ действовать наугад - "вылавливать" местоположение кнопки ? Подскажите...

Вернуться к началу