terça-feira, 16 de junho de 2009

Criando uma barra de status completa

{Para testar o exemplo abaixo inclua um componente StatusBar, um componente Timer. No componente StatusBar vá até a propriedade Panels e adicione 3 panels.

Na propriedade Interval do componente Timer informe o valor 500.}


unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ExtCtrls;
type
TForm1 = class(TForm)
StatusBar1: TStatusBar;
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
// Evento OnCreate do Form
procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1Timer(Self);
end;
// Evento OnTimer do componente Timer
procedure TForm1.Timer1Timer(Sender: TObject);
begin
StatusBar1.Panels[0].Text := TimeToStr(Time);
if GetKeyState(VK_NUMLOCK) = 1 then
StatusBar1.Panels[1].Text := 'Num lock: ON'
else
StatusBar1.Panels[1].Text := 'Num lock: OFF';
if GetKeyState(VK_CAPITAL) = 1 then
StatusBar1.Panels[2].Text := 'Caps lock: ON'
else
StatusBar1.Panels[2].Text := 'Caps lock: OFF';
end;
// Evento OnKeyPress do Form
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
Timer1Timer(Self);
end;
// Evento OnKeyDown do Form
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
Timer1Timer(Self);
end;

Nenhum comentário:

Postar um comentário