Вниз
Скачать: 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 вся ветка

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



Память: 0.46 MB
Время: 0.01 c
14-73391
Yaro
2002-04-15 10:11
2002.05.23
Основы написания ВИЗУАЛЬНЫХ компонентов...


3-73054
serg72
2002-04-27 10:19
2002.05.23
ADO (dBase) как создать цифрофое поле определ.размера.


1-73314
Serhy
2002-05-12 03:31
2002.05.23
Из 8.3 в норму


4-73467
AFROLOV
2002-03-25 11:28
2002.05.23
Как не пропускать сообщение к чужому приложению


1-73238
IronHawk
2002-05-09 01:05
2002.05.23
Приветствую Мастеров! Очень нужная задача, есть.




   Наверх