Hallo,
folgendes Problem, ich möchte die Windows Message "WM_INPUTLANGCHANGE" in einer Klasse bearbeiten. Aber irgendwo fehlt mir der richtige Ansatz.
Delphi-Quellcode:
type
TSprache = class(TWinControl)
private
public
constructor Create(AOwner: TComponent); override;
procedure KeyboardChange(var Message: TMessage); message WM_INPUTLANGCHANGE;
end;
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
Sprache: TSprache;
//procedure KeyboardChange2(var Message: 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 Message: TMessage);
begin
Showmessage('test');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Sprache := TSprache.Create(Form1);
end;
//procedure TForm1.KeyboardChange2(var Message: TMessage);
//begin
// Showmessage('test2');
//end;
Wenn ich die Windows Message in dem Form bearbeite (auskommentierter Quelltext) geht es, in einer Klasse nicht. Wenn ich dem Form nun einen Button hinzufüge geht es auch nicht mehr. Also muss ich doch einen Denkfehler machen
.
Ziel ist es am Ende diese Windows Message in einer Komponente zu bearbeiten.
Bin für jede Hilfe dankbar, kann auch ein Beispiel oder Tutorial zu diesem Thema sein.
Gruß Bunke5