Вниз
Скачать: 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.017 c
1-38781
Brut
2004-02-03 15:11
2004.02.13
Автоматическая прокрутка RichEdit


3-38682
Крутыш
2004-01-23 22:28
2004.02.13
Grid как в 1С


3-38733
Санек
2004-01-24 19:13
2004.02.13
Таблица с вычисляемыми вертикальными полями ?


1-38955
10100010110110110001
2004-02-03 22:47
2004.02.13
ТЕКСТ


3-38678
Grayver
2004-01-24 06:42
2004.02.13
запрос




   Наверх