Главная страница
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.018 c
6-73335
Nevmerj
2002-03-13 13:30
2002.05.23
Вопросик по Named Pipes


1-73251
RaZEr
2002-05-10 05:31
2002.05.23
Удаление TTabSheet


1-73278
mrProgrammer
2002-05-11 13:43
2002.05.23
Перевод чисел в битовые последовательности и наоборот


1-73292
Novice 2
2002-05-11 17:40
2002.05.23
Hint ы (всплывающие подсказки) к отдельным секциям StatusBar а.


1-73139
VID
2002-05-05 18:20
2002.05.23
Определение состояния контексного меню (TPopup)