Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2015.04.26;
Скачать: CL | DM;

Вниз

компонент StatusBar   Найти похожие ветки 

 
Роман   (2014-02-10 11:26) [0]

Добрый День.
Здравствуйте занимаюсь по книге Михаила Флёнова, там разбирают компонент StatusBar.
расклад такой, добавляется процедура ShowHint

procedure TForm1.ShowHint(Sender: TObject);
begin
  StatusBarl.SimpleText := Application.Hint;
end;

Внутри процедуры мы присваиваем в свойство SimpleText строки состояния текст, находящийся В Application. Hint. А В Application .Hint всегда находится подсказка, которую надо сейчас отобразить.

И обработчик события для главной формы OnShow

procedure TFormi.FormShow(Sender: TObject);
begin
Application.OnHint := ShowHint;
end;

Получается обработчик события OnHint компонента Application принимает значение процедуры ShowHint
и при наведении мыши например на компонент кнопка должна вылетать подсказка (а она есть) в StatusBar1.
Но к сожалению программа не работает, в свойствах формы выставлено свойство ShowHint на True и все вроде бы правильно но она все равно не работает.

Пожалуйста помогите с этой проблемой


 
asddsa   (2014-02-10 11:28) [1]

выложили бы код...


 
Роман   (2014-02-10 11:39) [2]

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ComCtrls, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   StatusBar1: TStatusBar;
   procedure FormShow(Sender: TObject);
 private
   { Private declarations }
 procedure ShowHint(Sender:TObject);
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.FormShow(Sender: TObject);
begin
Application.OnHint:=ShowHint;
end;

procedure TForm1.ShowHint(Sender: TObject);
begin
StatusBar1.SimpleText:=Application.Hint;
end;

end.


 
Германн ©   (2014-02-10 12:57) [3]


> в свойствах формы выставлено свойство ShowHint на True

А в свойствах самой кнопки?


 
stas ©   (2014-02-10 12:59) [4]

А откуда хинту взяться ?


 
stas ©   (2014-02-10 13:02) [5]

Application.OnHint срабатывает даже если у контрола ShowHint:=false, но чтобы вывести hint, то свойство hint контрола, должно быть заполнено.


 
Роман   (2014-02-10 13:03) [6]

Хинт выставил в свойствах кнопки


 
stas ©   (2014-02-10 13:04) [7]

Вот так:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls;

type
TForm1 = class(TForm)
  Button1: TButton;
  StatusBar1: TStatusBar;
  procedure FormShow(Sender: TObject);
private
  { Private declarations }
procedure ShowHint(Sender:TObject);
public
  { Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.FormShow(Sender: TObject);
begin
Application.OnHint:=ShowHint;
Button1.Hint:="Это Button1...";
end;

procedure TForm1.ShowHint(Sender: TObject);
begin
StatusBar1.SimpleText:=Application.Hint;
end;

end.


 
stas ©   (2014-02-10 13:08) [8]

Ну, может в 2005 че-то намутили в D7 работает...


 
stas ©   (2014-02-10 13:19) [9]

Добавьте панель в статус бар и сделайте так:
procedure TForm1.ShowHint(Sender: TObject);
begin
 StatusBar1.Panels[0].Text:=Application.Hint;
end;


 
Роман   (2014-02-10 14:03) [10]

Спасибо большое!
Когда добавил панель и к ней присвоил Application.Hint то все получилось.


 
Германн ©   (2014-02-10 14:25) [11]

Значит надо было поставить SimplePanel True.


 
Роман   (2014-02-10 14:41) [12]

Ага спасибо, работает!


 
Palladin ©   (2014-02-12 01:45) [13]

Фленов



Страницы: 1 вся ветка

Текущий архив: 2015.04.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.004 c
15-1410294602
Юрий
2014-09-10 00:30
2015.04.26
С днем рождения ! 10 сентября 2014 среда


15-1409925976
alexdn
2014-09-05 18:06
2015.04.26
Яндекс перешел на другой протокол?


15-1410414198
Пит
2014-09-11 09:43
2015.04.26
Сортировка в проводнике windows


2-1392196588
Zet
2014-02-12 13:16
2015.04.26
вопрос по Canvas


15-1409920082
Darvin
2014-09-05 16:28
2015.04.26
Delphi XE5 Приложение для Андроид