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





Похожие по теме исходники

MDI 3ds Editor

Application MDI