Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.14;
Скачать: 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 вся ветка

Текущий архив: 2004.11.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.065 c
14-1098686675
syte_ser78
2004-10-25 10:44
2004.11.14
Как сделать чтобы DmClient 2.1.2 запомнил имя и емейл в форме ?


3-1097639943
Klim Samgin
2004-10-13 07:59
2004.11.14
Удаление папки после TBatchMove


14-1098344148
Игорь Шевченко
2004-10-21 11:35
2004.11.14
Ничего себе...


1-1099393717
Pentium133
2004-11-02 14:08
2004.11.14
Не вызывается Change! Что делать?


1-1099347327
SpyBack
2004-11-02 01:15
2004.11.14
Запрос