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

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



Память: 0.45 MB
Время: 0.02 c
7-39120
НВ
2003-11-28 18:23
2004.02.13
Как послать управляющие коды на принтер?


6-38984
Эрик
2003-12-11 08:50
2004.02.13
Как сконвертировать представление ip-адреса в формате IPv4?


3-38667
Kelvin
2004-01-25 10:00
2004.02.13
DBListBox


14-39001
фотограф
2004-01-19 18:41
2004.02.13
фотоаппарат Canon PowerShot


3-38742
Polevi
2004-01-21 13:56
2004.02.13
Способ хранения дат




   Наверх