Советы по Delphi

         

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


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

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

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

Sender : TObject );

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

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

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

    {================================================================}
{ Обновляем pnlStatusText.Caption с текстом всплывающей подсказки}
{ элемента управления, над которым находится курсор мыши.        }
{================================================================}
procedure
TMainFrame.ShowHint
(
Sender : TObject  {Объект, вызывающий данную процедуру} );
begin
pnlStatusText.Caption := Application.Hint; end; { TMainFrame.ShowHint }

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



Содержание раздела