Форум: "Начинающим";
Текущий архив: 2015.04.26;
Скачать: [xml.tar.bz2];
Внизкомпонент 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.002 c