Компонент Delphi StringGrid









                                           ГЛАВНАЯ           СВОЙСТВА           СОБЫТИЯ           ПРИЁМЫ  ПРОГРАММИРОВАНИЯ




Свойства StringGrid
11. Align
12. Anchors
13. BiDiMode
15. ColCount
16. RowCount
17. Color
19. Ctl3D
10. Cursor
15. DragKind
16. DragMode
17. Enabled
19. FixedCols
20. FixedRows
21. Font
23. Height
26. HelpType
27. Hint
28. Left
29. Name
30. Options
31. PopupMenu
33. ShowHint
34. TabOrder
35. TabStop
36. Tag
37. Top
38. Visible
39. Width




StringGrid Delphi

Свойство Hint




   Свойство Hint StringGrid Delphi содержит подсказку, всплывающую при наведении указателя мышки на компонент StringGrid.

   Всплывающая подсказка имеет строковый тип String и призвана служить пояснением предназначения данной таблицы StringGrid.

   Размер переменной типа String может достигать 2 ГБайт, поэтому объём текста, который содержит свойство Hint, может быть вполне достаточным для того, чтобы не только описать компонент StringGrid вместе с содержащимися в нём данными, но и разместить весь роман "Война и мир"!

   Однако следует учесть, что по своему характеру подсказка, содержащаяся в свойстве Hint должна быть достаточно компактной, максимум две-три строки текста. Если требуется более развётнутая информация о данном компоненте StringGrid, её следует разместить в разработанной для приложения справочной системе.

   Кстати, текст, содержащийся в свойстве Hint, выводится одной непрерывной строкой по всей ширине экрана. Переход на другую строку происходит автоматически, если ширины экрана для вывода всего текста не хватит. Для того чтобы создать более короткую многострочную подсказку, в нужном месте текста необходимо использовать символ перехода на другую строку:

StringGrid1.Hint:='Первая строка'+#13+'Вторая строка';



   Если попробовать вставить тот же текст в свойство Hint в Инспекторе Объектов, ничего не выйдет, так как символ перехода на новую строку #13 будет воспринят как текст: '#13'. Однако, решение проблемы существует.

   Нужно щёлкнуть правой кнопкой по Форме, выбрать пункт меню "View as Text", в появившемся описании Формы найти описание свойства Hint нашего компонента StringGrid, и в нужных местах текста подсказки расставить символы переноса.

   Для появления всплывающей подсказки недостаточно заполнить свойство Hint компонента StringGrid. Также необходимо разрешить её появление, для чего свойство ShowHint следует установить в True.

   Свойства Hint и ShowHint доступны не только в момент разработки, в Инспекторе Объектов, но и программно, что позволяет в нужный момент разрешать или запрещать появление всплывающей подсказки:

//Разрешить появление подсказки
StringGrid1.ShowHint:=True;

//Запретить появление подсказки
StringGrid1.ShowHint:=False;

   Для компонента StringGrid программное управление выводом всплывающей подсказки и в самом деле актуально. Ведь для каждой отдельной ячейки может потребоваться выводить свою собственную подсказку.

   Следующий фрагмент, управляя свойством Hint компонента StringGrid, выводит координаты ячейки таблицы StringGrid, над которой в настоящий момент находится курсор мышки при своём движении по компоненту:

var
  Form1: TForm1;
  C, R: Integer;

implementation

{$R *.dfm}

procedure TForm1.StringGrid1MouseMove(Sender: TObject;   Shift: TShiftState; X, Y: Integer);
var ACol, ARow: Integer;
begin
with StringGrid1 do
try
  MouseToCell(X, Y, ACol, ARow);
  if ((ACol<>C) or (ARow<>R)) then
    begin
      C:=ACol; R:=ARow;
      Application.CancelHint;
      Hint:='('+IntToStr(C)+', '+IntToStr(R)+')';
    end;
except
end;
end;

   За временнЫе параметры всплывающей подсказки компонентов в приложении отвечают соответствующие свойства объекта Application:
  • HintPause - пауза между помещением указателя мышки на компонент и появлением подсказки (мсек). По умолчанию - 500;
  • HintHidePause - пауза между появлением подсказки и её скрытием, если мышь не двигалась (мсек). По умолчанию - 2500;
  • HintShortPause - пауза до следуюшего появления подсказки, если она уже показана (мсек). По умолчанию - 50.

Читайте также:
  • Свойство Name StringGrid Delphi

    Сайт из коллекции Компоненты Delphi    

    Карта сайта