Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как задать хинт кнопке? 
:(
    Опции темы
decembrist
  Дата 31.10.2005, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 1.4.2004

Репутация: нет
Всего: нет



Народ в InitDialog создаю кнопки
Код

InitIconButton(this, &m_btnPlay, IDC_BUTTON_PLAY, CreatIcon(_T("MEDIA_PLAY"), ICON_BG_COLOR ));
    InitIconButton(this, &m_btnPause, IDC_BUTTON_PAUSE, CreatIcon(_T("MEDIA_PAUSE"), ICON_BG_COLOR ));
    InitIconButton(this, &m_btnStop, IDC_BUTTON_STOP, CreatIcon(_T("MEDIA_STOP"), ICON_BG_COLOR ));

как мне теперь прицепить к ним хинты?
Работаю в Visual Studio 6.0.
Как там типа: m_btnPlay -> SetHint("") ?
У меня список свойств не высвечивается, блин, чтоб выбрать нужное
PM MAIL   Вверх
Dreamer_0x01
Дата 31.10.2005, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Терминатор
**


Профиль
Группа: Участник
Сообщений: 780
Регистрация: 14.4.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 12



В смысле Тултипы, или что, не понял?

Если их, то так:
1. в h-файле, в описании твоего класса, объявляешь указатель CToolTipCtrl * TTip;
2. Пишешь такой код:
Код

    TTip=new CToolTipCtrl();
    TTip->Create(this);
    TTip->AddTool(&m_btnPlay,"Текст подсказки");
/*......для остальных кнопок тоже AddTool....*/
TTip->Activate(TRUE);


3. В вункции PreTranslateMessage() пишешь:
Код

BOOL Твое_окно::PreTranslateMessage(MSG* pMsg)
{
    // TODO: Add your specialized code here and/or call the base class
    TTip->RelayEvent(pMsg);
    

    return CDialog::PreTranslateMessage(pMsg);
}


Все.


--------------------
Нет ничего невозможного. Есть цели, и есть время и силы на их достижение.
PM ICQ   Вверх
Earnest
Дата 31.10.2005, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



А что ты хинтом называешь? Подсказку, которая высвечивается в строке подсказки при выборе команды или тултип (маленький поп-ап), который появляется при наведении на кнопку мыши?
Впрочем, неважно, все это можно определить в строковом ресурсе, ид-р которого будет совпадать с ид-ром кнопки... Но в модальном диалоге все это само не заработает - только на панели DialogBar. В прочих случаях - пишешь сам, ручками.


--------------------
...
PM   Вверх
decembrist
Дата 31.10.2005, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 1.4.2004

Репутация: нет
Всего: нет



Да, я тултип имел в виду. Только у меня диалог виндовский на основе Open dialog.
Там нет такой функции как PreTranslateMessage. Проблема в том что мессаджи куда-то пропадают?
PM MAIL   Вверх
Dreamer_0x01
Дата 31.10.2005, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Терминатор
**


Профиль
Группа: Участник
Сообщений: 780
Регистрация: 14.4.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 12



так, а что такое "Open Dialog"?


--------------------
Нет ничего невозможного. Есть цели, и есть время и силы на их достижение.
PM ICQ   Вверх
Coocky
Дата 31.10.2005, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Цитата(decembrist @ 31.10.2005, 18:50)
Только у меня диалог виндовский на основе Open dialog

smile


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
Earnest
Дата 2.11.2005, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



PreTranslateMessage есть всегда - если ты MFC используешь - т.к. CFileDialog унаследован от CDialog. Но проблема в том, что твой диалог (наследник CFileDialog) является дочерним по отношению к системному диалогу Open Dialog, поэтому и не получает сообщений, которые предназначены последнему.

Можно попробовать с тултипами поступить по-другому:
при инициализации диалога вызвать CWnd::EnableToolTips(), а потом ловить WM_NOTIFY::TTN_NEEDTEXTW и\или TTN_NEEDTEXTА (переопредели OnNotify).
Для добавленных тобою кнопок эти уведомления должны приходить.

Все это подробно написано в описании функции CWnd::EnableToolTips.




--------------------
...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0767 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.