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

{codecitation class=»brush: pascal; gutter: false;» width=»600px»}

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

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

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, вы тем самым указываете способ показа хинтов: обычным способом в виде всплывающих окошек, или совместно с показом в строке состояния.

{/codecitation}

Добавить комментарий