powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как программно извлечь из тулбара текст всплывающей подсказки? (-)
13 сообщений из 13, страница 1 из 1
Как программно извлечь из тулбара текст всплывающей подсказки? (-)
    #32274491
Ой Вэй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(-)
...
Рейтинг: 0 / 0
Как программно извлечь из тулбара текст всплывающей подсказки? (-)
    #32274639
123456789098
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если это хоть чем-то поможет то это свойство Hint тобишь если есть указатель на объект то приводишь его к TControl и читаешь поле Hint

aPointer -указатель на
AnsiString theHint=((TControl*) aPointer )->Hint;
...
Рейтинг: 0 / 0
Как программно извлечь из тулбара текст всплывающей подсказки? (-)
    #32275267
Cactus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://www.rsdn.ru/article/controls/tiptoe.xml
...
Рейтинг: 0 / 0
Как программно извлечь из тулбара текст всплывающей подсказки? (-)
    #32275391
Ой Вэй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123456789098
Извини, я не написал, что работаю в Visual C++, то есть твой ответ не совсем понял.

Cactus
Извини, справку я читать умею. Текст на 100К -- не умею.

123456789098 & Cactus
И опять я неправильно написал. Мне нужен текст подсказки не тулбара в целом, а любой кнопки на тулбаре.
Спасибо.
...
Рейтинг: 0 / 0
Как программно извлечь из тулбара текст всплывающей подсказки? (-)
    #32276078
Cactus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуй так.

1. Добавь PreTranslateMessage(MSG* pMsg)
2. Лови в нем WM_ от мышки
if (pMsg->message == WM_MOUSEMOVE) {
3. Ищи окно
CWnd * wnd = this->GetNextWindow(GW_HWNDPREV);
4. Надо поймать окно от CToolTipCtrl
if (wnd->IsKindOf(RUNTIME_CLASS(CToolTipCtrl))) {
CToolTipCtrl * tip = dynamic_cast<CToolTipCtrl*>(wnd);
CString str;
tip->GetWindowText(str); // это оно
}

Топорно, но работает.
...
Рейтинг: 0 / 0
Как программно извлечь из тулбара текст всплывающей подсказки? (-)
    #32276730
Ой Вэй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cactus
Так мне нужно от произвольной кнопки, а не от той, на которую навели мышку.
Например, картинку с кнопки получить легко, идентификатор команды тоже. А текст подсказки в статусе/всплывающей подсказки -- никак.

Писал и, кажется, понял. Эти тексты -- свойство команды, а не тулбара. И живут просто в STRINGTABLE, а не в тулбаре. Ааа, какой я тормоз!!!
Спасибо!

Программно наводить мышку на кнопку не предлагать :)
...
Рейтинг: 0 / 0
Как программно извлечь из тулбара текст всплывающей подсказки? (-)
    #32276978
Cactus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А ты не писал когда ловить.

А если текст добавили, как
m_pTips->AddTool(GetDlgItem(IDC_BUTTON1),"Поймаешь?");

что делать будешь?
...
Рейтинг: 0 / 0
Как программно извлечь из тулбара текст всплывающей подсказки? (-)
    #32291145
Ой Вэй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сiльраду палитиму...

Мне, правда, это пока не надо, я специально добавлял в ресурсы тулбар, чтобы потом считать с него картинку и текст для использования в другом окне.

А ты?
...
Рейтинг: 0 / 0
Как программно извлечь из тулбара текст всплывающей подсказки? (-)
    #32291312
_Konst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Текст к кнопке храниться в StringTable
Зная ID кнопки, просто сделай LoadString по этому идентификатору...
Соотвественно всплывающий текст будет либо до, либо после \n, точно не помню.
...
Рейтинг: 0 / 0
Как программно извлечь из тулбара текст всплывающей подсказки? (-)
    #32291326
Ой Вэй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Konst
Спасибо, конечно, но я уже писал об этом 26 сентября.
А ответить на вопрос Cactus 'a про динамически привязанный текст можешь?
...
Рейтинг: 0 / 0
Как программно извлечь из тулбара текст всплывающей подсказки? (-)
    #32291574
_Konst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sorry, не посмотрел.

В таком случае, видимо, надо посылать самому сообщение окну - parent tooltip-ов
TTN_NEEDTEXT

pParent->SendMessage(WM_NOTIFY, idCtrl, (LPARAM)pnmh)

где pnmh - указатель на структуру NMTTDISPINFO. В этой структуре надо предварительно заполнить hdr - мембер
...
Рейтинг: 0 / 0
Как программно извлечь из тулбара текст всплывающей подсказки? (-)
    #32291636
Ой Вэй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Мне сейчас лень это проверять, но я буду иметь в виду.
...
Рейтинг: 0 / 0
Как программно извлечь из тулбара текст всплывающей подсказки? (-)
    #32291732
_Konst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NMTTDISPINFO info;

info.hdr.hwndFrom = m_wndToolBar.m_hWnd;
info.hdr.idFrom = ID_FILE_SAVE;
info.hdr.code = TTN_NEEDTEXTA;
info.lpszText = NULL;
info.uFlags = 0;
m_wndToolBar.SendMessage(WM_NOTIFY, ID_FILE_SAVE, (LPARAM)&info);

char *pStr = info.szText; //"Save"

Проверил на MainFrame SDI - работает.
Правда m_wndToolBar.m_hWnd - это несколько "левый" hWnd, лучше бы это был hWnd кнопки, но его я так сходу узнать не смог :(....
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как программно извлечь из тулбара текст всплывающей подсказки? (-)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]