Проблема всплывающих подсказок в дочерних MDI-формах

Материал из DRKB

Проблема всплывающих подсказок в дочерних MDI-формах[править | править код]

Если вам просто нужно отобразить всплывающие подсказки от элементов управления вашей дочерней формы, то сделайте это в вашей главной форме.

Объявите следующую процедуру в классе вашей главной формы:

private
{============================================================}
{ Процедура, вызываемая приложением всякий раз, когда        }
{ приложение хотело бы показать всплывающую подсказку.       }
{ Добавляет хинт на панель статуса.                          }
{============================================================}
procedure ShowHint(Sender : TObject);


затем в процедуре главной формы .create добавьте следующую строку:

{ Отображает хинт на статусной панели}
Application.OnHint := ShowHint;


Теперь приведем код функции ShowHint, принадлежащей главной форме:

{================================================================}
{ Обновляем pnlStatusText.Caption с текстом всплывающей подсказки}
{ элемента управления, над которым находится курсор мыши.        }
{================================================================}

procedure TMainFrame.ShowHint(Sender: TObject);
begin
  pnlStatusText.Caption := Application.Hint;
end;


Это должно работать. Вам нужно будет только задать текст подсказок для элементов управления во всех окнах, включая главное. Устанавливая свойство показа хинтов в false или true, вы тем самым указываете способ показа хинтов: обычным способом в виде всплывающих окошек, или совместно с показом в строке состояния.



Source: Взято с http://delphiworld.narod.ru
ID: 00494