Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.23;
Скачать: CL | DM;

Вниз

проблемы с hint ом   Найти похожие ветки 

 
Deus ©   (2002-05-12 01:16) [0]

В программе создаю hint window и показываю его справа внизу следующей процедуркой:
procedure showhint(t:string);
var
DeskTop:TCanvas;
x:trect;
hx:trect;
h:hwnd;
begin
h:=findwindow("Shell_TrayWnd",NIL);
if h=0 then exit;
GetWindowRect(h,x);
xx:=thintwindow.create(form1);
hx:=xx.CalcHintRect(300,t,nil);
hx.Top:=x.top-Canvas.TextHeight(t)-4;
hx.left:=x.right-Canvas.TextWidth(t)-10;
hx.Right:=x.right;
hx.Bottom:=hx.Top+Canvas.TextHeight(t);
xx.Color:=clInfoBk;
xx.Font.Color:=clBlack;
xx.ActivateHint(hx,t);
end;
Когда я вызываю её так:
showhint("aa bb cc");
то всё ок.
Но, когда я делаю так:
showhint("1.1.1 1:1:1");
то показывается только 1.1.1 8((
причём место под 1:1:1 есть, но оно пустое....


 
Cobalt ©   (2002-05-12 09:49) [1]

А у меня все ок, все показывает, все буквы и цифры, корректно выделяет место под текст, вот только...
var xx:thintwindow; ??? Правильно?
и еще ругается на xx.Font.Color:=clBlack;
нет такого свойства у thintwindow
Может вы используете к-нить наследник, и в нем портачите?
Большое спасибо за пример создания Подсказки.
Да поможет Вам F1.


 
Song ©   (2002-05-12 10:09) [2]

2Cobalt © (12.05.02 09:49)
http://delphi.mastak.ru/cgi-bin/faq.pl?look=1&id=988623787&n=16


 
Deus ©   (2002-05-12 12:23) [3]

2Cobalt:
Да, xx:thintwindow; пропустил - оно раньше объявляется. Сорри.
xx.Font.Color - есть. Это ж работащая процедура...:))

я правильно понял, что когда Вы вызываете showhint("1.1.1 1:1:1");
то показывается именно 1.1.1 1:1:1 ?


 
Deus ©   (2002-05-12 12:53) [4]

Нашёл багу. Канву не ту имел :))
Правильная проце-дура:

procedure altshowtext_2(t:string);
var
xx:THintWIndow;
x:trect;
hx:trect;
h:hwnd;
begin
h:=findwindow("Shell_TrayWnd",NIL);
if h=0 then exit;
GetWindowRect(h,x);
if xx<>nil then begin
xx.free;
end;
xx:=thintwindow.create(form1);
hx:=xx.CalcHintRect(300,t,nil);
hx.Top:=x.top-xx.Canvas.TextHeight(t)-4;
hx.left:=x.right-xx.Canvas.TextWidth(t)-10;
hx.Right:=x.right;
hx.Bottom:=hx.Top+xx.Canvas.TextHeight(t);
xx.Color:=clInfoBk;
xx.Font.Color:=clBlack;
xx.ActivateHint(hx,t);
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
1-73262
lipskiy
2002-05-10 15:27
2002.05.23
Как поставить курсор в Edit в начало блока выделения?


3-73074
roman001
2002-04-28 19:16
2002.05.23
Закрытие таблиц


3-72993
YuriE
2002-04-24 18:22
2002.05.23
Обновление данных в DBGridе


1-73209
Alx2
2002-05-14 14:30
2002.05.23
TRadioGroup: раскрасить item ы


1-73175
zZet
2002-05-09 21:01
2002.05.23
Как заставить зе бат запускаться правильно?