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

Вниз

Работа с Хинтами   Найти похожие ветки 

 
pasha_golub ©   (2004-02-25 11:30) [0]

Код:

type
TForm1 = class(TForm)
SG: TStringGrid;
procedure FormCreate(Sender: TObject);
procedure SGMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SGExit(Sender: TObject);
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
Application.ShowHint := True;
end;

procedure TForm1.SGMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var GCoord: TGridCoord;
Mes: TMessage;
begin
GCoord := SG.MouseCoord(X,Y);
if (GCoord.X>-1) and (GCoord.Y>-1)
and (SG.Hint <> SG.Cells[GCoord.X,GCoord.Y])
and (SG.Canvas.TextWidth(SG.Cells[GCoord.X,GCoord.Y])>SG.ColWidths[GCoord.X])
then
begin
Application.CancelHint;
SG.Hint := SG.Cells[GCoord.X,GCoord.Y];
TWMMouse(Mes).XPos := X;
TWMMouse(Mes).YPos := Y;
Application.HintMouseMessage(SG,Mes);
end
else
SG.Hint := "";
end;

procedure TForm1.SGExit(Sender: TObject);
begin
SG.Hint := "";
end;


Вообщем, показываю inplace хинт, при условии, что длинна строки в ячейке больше ширины столбца. Работает удовлетворительно, но хочется большего. Объяснить на пальцах не смогу, лучше всего увидеть. Иногда есть паузы, иногда требуется шевельнуть мышой и т.д.

Есть мысль, что если бы я смог знать состояние поля Application.FHintActive, соответственно мог бы нагло прятать и показывать хинт в нужное мне время.

Или может быть будут другие предложения? Спасибо.


 
pasha_golub ©   (2004-02-25 15:28) [1]

Уп



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
1-12394
Insert
2004-02-24 19:27
2004.03.05
Список файлов?


14-12522
NeyroSpace
2004-02-11 16:53
2004.03.05
Как сделать консольное прилодение, кот. взаимодействует с *.bat?


3-12234
Sergey Merkuriev
2004-02-09 17:53
2004.03.05
MS SQL 2000 книги или доки по русски


3-12231
Splinter
2004-02-10 06:43
2004.03.05
Объединение полей БД в Delphi


3-12281
Мыш
2004-02-06 20:41
2004.03.05
удаление? записей из запроса