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

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

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

123456789098 & Cactus
И опять я неправильно написал. Мне нужен текст подсказки не тулбара в целом, а любой кнопки на тулбаре.
Спасибо.
...
Рейтинг: 0 / 0
25.09.2003, 20:24
    #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
26.09.2003, 13:34
    #32276730
Ой Вэй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно извлечь из тулбара текст всплывающей подсказки? (-)
Cactus
Так мне нужно от произвольной кнопки, а не от той, на которую навели мышку.
Например, картинку с кнопки получить легко, идентификатор команды тоже. А текст подсказки в статусе/всплывающей подсказки -- никак.

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

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

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

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

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

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

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

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

где pnmh - указатель на структуру NMTTDISPINFO. В этой структуре надо предварительно заполнить hdr - мембер
...
Рейтинг: 0 / 0
13.10.2003, 17:06
    #32291636
Ой Вэй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно извлечь из тулбара текст всплывающей подсказки? (-)
Спасибо. Мне сейчас лень это проверять, но я буду иметь в виду.
...
Рейтинг: 0 / 0
13.10.2003, 17:47
    #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
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как программно извлечь из тулбара текст всплывающей подсказки? (-) / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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