Вниз
Скачать: CL | DM;

Подсказка ToolTip   Найти похожие ветки 

 
Comp ©   (2004-10-04 20:50) [0]

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

Народ любезный, подскажите пожалуйста , как вывести простую пользовательскую текстовую подсказку средствами 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 20:54) [1]

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

WM_NOTIFY: ...

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


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

http://delphimaster.net/view/4-1096027253/


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

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

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

Да, забыл:

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


 
Comp ©   (2004-10-04 21:36) [4]

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

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

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

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


 
Comp ©   (2004-10-04 21:41) [5]

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;

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.022 c
14-1098903801
Alein
2004-10-27 23:03
2004.11.14
Эффект Bevel (как в Photoshope)


14-1099038151
}|{yk
2004-10-29 12:22
2004.11.14
Умберто Эко. Имя розы.


1-1098875302
Pentium133
2004-10-27 15:08
2004.11.14
TListBox...


3-1098078738
Merlot
2004-10-18 09:52
2004.11.14
ib и novell


4-1097126691
CJ Shark
2004-10-07 09:24
2004.11.14
Как писать биты напрямую в LPT в WinXP?




   Наверх