unit statusbar_form;

{$mode objfpc}{$H+}

interface

uses
	Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ComCtrls, StdCtrls,
	Spin, ButtonPanel, ExtCtrls, Buttons;

type

	{ TForm1 }

 TForm1 = class(TForm)
		Bevel1: TBevel;
		BitBtn1: TBitBtn;
		ButtonPanel1: TButtonPanel;
		CheckBox1: TCheckBox;
		Edit1: TEdit;
		Label1: TLabel;
		ProgressBar1: TProgressBar;
		SpinEdit1: TSpinEdit;
		statusbar: TStatusBar;
		procedure MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
	private

	public

	end;

var
	Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }
procedure TForm1.MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var ctrl: TControl;
begin
	statusBar.Panels[0].Text := Sender.ClassName;
  ctrl := TControl(Sender);
  statusBar.Panels[1].Text := ctrl.Name;
  statusBar.Panels[2].Text := Format('Top: %d', [ctrl.Top]);
  statusBar.Panels[3].Text := Format('Left: %d', [ctrl.Left]);
end;

end.

