Procedure KeyPress dans un composant dérivé de TWinControl
Utilisateur anonyme
-
24 févr. 2008 à 03:06
Utilisateur anonyme -
24 févr. 2008 à 03:15
Salut à tous,
Je suis entrain de faire un composant dérivé de TWinControl. Tout va bien sauf que j'essaye d'utiliser la procedure KeyPress : je ne sais pas ce qu'il se passe car même en imposant le focus du composant dans le OnCreate, quand je presse une touche la procédure n'est pas appelée. J'ai du passer devant un truc car là je ne vois pas
unit DrumSet;
interface
uses
Windows, Messages, SysUtils, Classes, Controls, Graphics, Dialogs;
type
TDrumSet = class(TWinControl)
private
fCanvas: TControlCanvas;
protected
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure KeyPress(var Key: Char); override;
published
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Test', [TDrumSet]);
end;
constructor TDrumSet.Create(AOwner: TComponent);
begin
inherited;
fcanvas:=TControlCanvas.Create;
fCanvas.Control:=Self;
Self.Refresh;
Self.Focused;
end;
destructor TDrumSet.Destroy;
begin
FreeAndNil(fCanvas);
inherited Destroy;
end;
Procedure TDrumSet.KeyPress(Var Key:Char);
Begin
Inherited KeyPress(Key);
Showmessage('Touche appuyée'); //Le showmessage n'a pas lieu
End;
Je m'auto-répond : "Espèce de moule à gauffre, tu avais qu'a etre plus attentif tu te serai pas planté pour donner le focus au compo. Maintenant f0xi va t'envoyer son Excuze-Staff : c'est balod quand meme ".