Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Как сделать коментарий? В Visual C++


Автор: napTu3aH 5.11.2003, 14:37
Есть форма в ней есть обьект где прорисовывается карта
как делать так чтобы при наведении на определенную фигуру или точку
появлялся коментарий.

Автор: Paradox 5.11.2003, 14:51
napTu3aH случайно не для военной кафедры приложение рисуешь ? smile.gif

Автор: shedon 5.11.2003, 14:52
Перехватывай сообщение от мыши( OnMove(int x, int y); ). И при определённых координатах курсора выводи коментарий, коментарий можно вывести по разному, можно через TextOut, можно и через HtmlHelp.
Код

LPCTSTR sText = "Это коментарий"; // Текст коментария
// Координаты коментария
POINT pt;
pt.x = 200;
pt.y = 300;

HH_POPUP hPop; // структура всплывающей HTML справки
// Инициализируем структуру знаками NULL (нулями)
memset(&hPop, 0, sizeof(hPop));

// Устанавливаем размер структуры
hPop.cbStruct         = sizeof(hPop);  

// Цвет фона - жёлтый
hPop.clrBackground    = RGB(255, 255, 208);

hPop.clrForeground    = -1; // Font color
hPop.rcMargins.left   = -1;    
hPop.rcMargins.bottom = -1;
hPop.rcMargins.right  = -1;
hPop.pt               = pt;
hPop.pszText          = sText; // Текст справки
hPop.pszFont          = NULL; // Шрифт
   
HtmlHelp((DWORD)&hPop, HH_DISPLAY_TEXT_POPUP);

Автор: Ars 5.11.2003, 15:02
Создай таймер. В обработчике WM_MOUSEMOVE сбрасывай и запускай этот таймер секунды на две и еще запоминай координаты мыша. В обработчике таймера определяй, что находится на форме по запомненным координатам и если там твоя фигура или точка - выводи соотв. комментарий

Автор: napTu3aH 5.11.2003, 17:07
Вижуал не понимает что такое HH_POPUP.
Как сделать чтобы понял? smile.gif

Автор: mr.DUDA 5.11.2003, 20:26
В MFC/WTL есть такой класс как CToolTipCtrl, с его помощью можно создавать всплывающие подсказки и вешать их на всё окно, либо на его прямоугольные области. Посмотри соотв. инфу в MSDN, а если не будет получаться - пиши, помогу smile.gif

Автор: napTu3aH 13.11.2003, 16:07
Помогите разобраться с данным классом smile.gif
У меня следующий код:
Код

CToolTipCtrl helper;
CRect s_rect;
POINT pt;
pt.x = 3;
pt.y = 3;

s_rect.left=1;
s_rect.top=1;
s_rect.right=50;
s_rect.bottom=50;
helper.Create(this,0);
CString str_st;
str_st="sadfasdf";
helper.GetText(str_st,this,1);

helper.SetDelayTime(5000);
helper.Activate(TRUE);
helper.SetTipBkColor(RGB(255, 255, 208));
helper.SetTipTextColor(-1);
helper.SetMargin(s_rect);
helper.GetToolCount();

helper.SetToolRect(this,1,&s_rect);

что в нем неправильного?
вижуал ошибок не находит, но и комментрарий не появляется...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)