Delphi - база знаний


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


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

Взято с





Начало  Назад  Вперед