Форум: "WinAPI";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
ВнизПодсказка ToolTip Найти похожие ветки
← →
Comp © (2004-10-04 20:50) [0]Хорошо, повторю.
Народ любезный, подскажите пожалуйста , как вывести простую пользовательскую текстовую подсказку средствами API?
В интернете примеров куча, но только на С++, а его я плохо знаю, очень плохо, почти не знаю.
Как вариант вопроса может быть так:
ПЕРЕВЕДИТЕ ПОЖАЛУЙСТА КОД (КТО ЗНАЕТ)
С++ ->> Delphiswitch(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 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.046 c