Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подсказка ToolTip


Comp ©   (2004-10-04 20:50:00) 

Хорошо, повторю.

Народ любезный, подскажите пожалуйста , как вывести простую пользовательскую текстовую подсказку средствами API?
В интернете примеров куча, но только на С++, а его я плохо знаю, очень плохо, почти не знаю.

Как вариант вопроса может быть так:
ПЕРЕВЕДИТЕ ПОЖАЛУЙСТА КОД (КТО ЗНАЕТ)
С++ ->> Delphi

switch(pnmhdr->code)
 {
   case TTN_NEEDTEXT:
     lpToolTipText = (LPTOOLTIPTEXT)pnmhdr;
     LoadString(hInst, lpToolTipText->hdr.idFrom,
       szBuf, sizeof(szBuf));
     lpToolTipText->lpszText = szBuf;
     break;

}


Comp   (2004-10-04 21:41:00) [1]

procedure TForm1.WMNotify(var Msg: TMessage);
var
 phd: PHDNotify;
 NMTTDISPINFO: PNMTTDispInfo;
begin
 phd := PHDNotify(Msg.lParam);
 if phd.Hdr.hwndFrom = GHWND then
 begin
   if phd.Hdr.Code = TTN_NEEDTEXT then
   begin
     NMTTDISPINFO := PNMTTDispInfo(phd);
     NMTTDISPINFO.lpszText := PChar(ListBox1.Items[CurrentIndex]);
   end;
 end;
end;

Примерно про что я имел ввиду...
ПРИМЕРНО...


Comp   (2004-10-04 21:36:00) [2]

ВСЕ!
Мало-мальское решение нашел, буду переводить на API

Кого заинтересует:

http://www.delphisyte.ru/Articles/base/in_place_hint.html

Мастер © , СПАСИБО ЗА ПОДСКАЗКИ.


Comp   (2004-10-04 21:24:00) [3]

Мастер ©
Спасибо.
Но это не совсем то.
Это создание подсказки через предварительное создание окна.

А можно еще и не создавать окно, так как отображать надо только техт. На С++ это делается довольно просто, как видно по коду. Вот только как перевести на Delphi?

Да, забыл:

LPTOOLTIPTEXT lpToolTipText;
 LPTBNOTIFY lptbn;
 int nItem;
 static CHAR szBuf[128];


Мастер   (2004-10-04 21:13:00) [4]

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1096027253&n=5


Comp   (2004-10-04 20:54:00) [5]

А как потом её использовать?

WM_NOTIFY: ...

Что нужно вместо точек писать?


Наверх

Титульная страница Поиск, карта сайта Написать письмо