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

Вниз

ActivateHint   Найти похожие ветки 

 
dima_crt   (2004-02-02 10:26) [0]

Нужно показать подсказку в StringGride при наведении на первый столбец. Что неправильно в коде? Application.ActivateHint(Point(X,Y)) выполняется, но хинта нет! ShowHint для грида стоит в TRUE. Если честно, то вообще непонятно как ActivateHint работает. У меня для TreeView написан почти такой же код - всё нормально!

procedure TfrmDistribOnWorkshop.sgResultMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
var
Column, Row: Longint;
begin
sgResult.MouseToCell(X, Y, Column, Row);

if (Column <> 0) or (Row <= 0) or (FHintRow = Row)then
begin
Application.CancelHint;
sgResult.Hint := "";
FHintRow := -1;
exit;
end;

FHintRow := Row;

Application.CancelHint;
sgResult.Hint := "Hint!!!";
Application.ActivateHint(Point(X,Y));
end;


 
Семен Сорокин ©   (2004-02-02 11:10) [1]

ошибка в этой строчке:
Application.ActivateHint(Point(X,Y));
т.к. туда должны передаваться координаты экрана, а передаются координаты ячейки в гриде
для пересчета используй sgResult.ClientOrigin
Application.ActivateHint(Point(sgResult.ClientOrigin.X + X, sgResult.ClientOrigin.Y + Y));


 
dima74   (2004-02-02 11:51) [2]

Не помогает... И так делал
Application.ActivateHint(sgResult.ClientToScreen(Point(X, Y)))
Потом какая разница, ну всплыл бы хинт не на гриде, в где-нибудь в левом верхнем углу...


 
Семен Сорокин ©   (2004-02-02 12:09) [3]

проверь св-во:
Application.ShowHint


 
dima74   (2004-02-02 12:37) [4]

Всё, нашел свою глупость...

if (Column <> 0) or (Row <= 0) {or (FHintRow = Row)} then
begin
Application.CancelHint;
sgResult.Hint := "";
FHintRow := -1;
exit;
end;
if (FHintRow = Row) then exit;



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

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

Наверх




Память: 0.47 MB
Время: 0.031 c
1-38934
-=Dev-null=-
2004-02-04 10:22
2004.02.13
Как встроить manifest в ресурсы проги ?


1-38833
Vi0let
2004-02-04 03:03
2004.02.13
Прога при запуске виснет с экраном 640х480 16 цветов.


1-38930
Pahan_
2004-02-02 22:31
2004.02.13
Как преобразовать строку в Unicode, а так же из Unicode?


1-38865
Фдуч
2004-02-01 13:51
2004.02.13
как узнать номер текущего mdichild


1-38790
AndrewK
2004-02-03 12:59
2004.02.13
Просмотр в WebBrowser е html-строки