Probier es doch mal bitte so:
Delphi-Quellcode:
type
TSprache = class(TWinControl)
private
public
constructor Create(AOwner: TComponent); override;
procedure KeyboardChange(var Msg: TMessage); message WM_INPUTLANGCHANGE;
end;
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
Sprache: TSprache;
procedure KeyboardChange(var Msg: TMessage); message WM_INPUTLANGCHANGE;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
constructor TSprache.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
end;
procedure TSprache.KeyboardChange(var Msg: TMessage);
begin
Showmessage('test');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Sprache := TSprache.Create(Form1);
end;
procedure TForm1.KeyboardChange(var Msg: TMessage);
begin
Broadcast(Msg);
end;
btw warum überschreibst du den constructor von TSprache wenn du ihn eh nicht brauchst??