Ich habe versucht das Ergebnis, des Dialoges zwischen Euch
nachzustellen, funktioniert nur wenn kein Button etc. auf der Form liegt.
Kann mir jemand sagen was noch verkehrt ist?
Gruß
Uwe
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TSprache =
class(TWinControl)
private
public
procedure KeyboardChange(
var Message: TMessage);
message WM_INPUTLANGCHANGEREQUEST;
end;
type
TForm1 =
class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
Sprache: TSprache;
procedure WndProc(
var Message : TMessage);
override;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TSprache.KeyboardChange(
var Message: TMessage);
begin
Showmessage('
OK'
);
end;
procedure TForm1.WndProc(
var Message : TMessage);
begin
if Message.Msg = WM_INPUTLANGCHANGEREQUEST
then
begin
Sprache.KeyboardChange(
Message);
end;
inherited wndproc(
Message);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Sprache := TSprache.Create(Form1);
Sprache.Parent := Form1;
end;
end.