...CToolTipCtrl* m_Tip;
COLORREF m_TipFront;
COLORREF m_TipBack;
...
Всплывающие подсказки чекбоксов
В какую сторону смотреть?
Цитата: nof
Ребят, есть несколько чекбоксов, как сделать, чтобы при наводке на них мышки, вылазила подсказка?
В какую сторону смотреть?
В какую сторону смотреть?
1.Добавляешь контрол-переменные для каждого чекбокса.
2.Добавляешь 3 переменные в хидер-файле,допустим
Код:
3.В ф-ии OnInitDialog допиши
Код:
... if (!m_Tip)
{
m_Tip =new CToolTipCtrl;
m_Tip->Create(this,TTS_ALWAYSTIP);
//изменим размер используемой подсказки
//в частности, это дает нам возможность выводить
//многострочный текст подсказки
m_Tip->SetMaxTipWidth(200);
m_Tip->AddTool(&m_button,L"Пример подсказки для checkbox");
// тут так же для других чекбоксов...
m_Tip->Activate(TRUE);
}
//Установка цвета текста и фона подсказок
//цвет заднего фона подсказки
m_TipBack=RGB(255,255,255);
WPARAM wParam=(WPARAM)m_TipBack;
LPARAM lParam = 0;
::SendMessage(m_Tip->m_hWnd,TTM_SETTIPBKCOLOR,wParam, lParam);
//цвет самого текста подсказки
m_TipFront=RGB(0,0,255);
wParam=(WPARAM)m_TipFront;
::SendMessage(m_Tip->m_hWnd,TTM_SETTIPTEXTCOLOR,wParam, lParam);...
{
m_Tip =new CToolTipCtrl;
m_Tip->Create(this,TTS_ALWAYSTIP);
//изменим размер используемой подсказки
//в частности, это дает нам возможность выводить
//многострочный текст подсказки
m_Tip->SetMaxTipWidth(200);
m_Tip->AddTool(&m_button,L"Пример подсказки для checkbox");
// тут так же для других чекбоксов...
m_Tip->Activate(TRUE);
}
//Установка цвета текста и фона подсказок
//цвет заднего фона подсказки
m_TipBack=RGB(255,255,255);
WPARAM wParam=(WPARAM)m_TipBack;
LPARAM lParam = 0;
::SendMessage(m_Tip->m_hWnd,TTM_SETTIPBKCOLOR,wParam, lParam);
//цвет самого текста подсказки
m_TipFront=RGB(0,0,255);
wParam=(WPARAM)m_TipFront;
::SendMessage(m_Tip->m_hWnd,TTM_SETTIPTEXTCOLOR,wParam, lParam);...
4.Перегрузи ф-ию PreTranslateMessage и перед return допиши
Код:
...
if (m_Tip!=NULL)
m_Tip->RelayEvent(pMsg);
...
if (m_Tip!=NULL)
m_Tip->RelayEvent(pMsg);
...
5.Наводишь курсор на чекбокс и смотришь на всплывающие подсказки.
а m_button в твоём коде - это контрол-переменная одного из чекбоксов?
Да.Добавь для каждого свою.
Цитата: m_Valery
Да.Добавь для каждого свою.
Слушай... Вот такая проблема возникла.
Запускаю программу, навожу мышку на чекбоксы - всё ок, всплывающая подсказа отображается. Но когда программа начинает работать (это TCP-клиент, который подключается к серверу и общается с ним) всплывающие подсказки перестают отображаться...
Диалог, в котором находятся эти чекбоксы находится в табе, может с этим связано?
Программа не многопоточная. Всё идёт в одном процессе. Сообщения в процессе общения с сервером обрабатываются так:
Код:
if (PeekMessage(&msg, 0, 0, 0, 1)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
TranslateMessage(&msg);
DispatchMessage(&msg);
}