Gestenerkennung mit TImage32

Verfasst am: Montag, 19. Nov. 2012 um 21:52

Gestern musste ich feststellen, das die Maus-Gestenerkennung in der Komponente TImage32 vom Graphics32-Project nicht unterstütz wird. Die notwendige Eigenschaft Touch und auch das OnGesture() Event sind dort nicht vorhanden. Auch die Gestenerkennung der übergeordneten Komponente ließ sich nicht dazu bewegen, auf Maus-Gesten im TImage32-Bereich zu reagieren. Daher habe ich mir eine eigene Komponente geschrieben, die TImage32 um die Gesten erweitert.

unit claBVAImage32;

interface

uses
System.SysUtils, System.Classes, Vcl.Controls, GR32_Image;

type
TBVAImage32 = class(TImage32)
private
protected
public
constructor Create(AOwner: TComponent); override;
published
property Touch;
property OnGesture;
end;

implementation

constructor TBVAImage32.Create(AOwner: TComponent);
begin
inherited;

ControlStyle := ControlStyle + [csGestures];
end;

Prinzipiell müsste der Lösungsweg bei jeder Komponente funktionieren, bei der die Gesten nicht funktionieren, da die Implementation der Gestensteuerung bereits in TControl vorhanden ist. Im Falle von TImage32 fehlte einfach das „csGestures“ im ControlStyle.

Tags: , ,

Einen Kommentar schreiben