Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi eigenes Drag Drop ereignis in eigener Komponente. WIE??? (https://www.delphipraxis.net/136689-eigenes-drag-drop-ereignis-eigener-komponente-wie.html)

IIIMADDINIII 6. Jul 2009 00:58


eigenes Drag Drop ereignis in eigener Komponente. WIE???
 
hallöchen,

ich schreibe grad eine eigene komponente mit der mutter 'TCustomControl'. in dieserhabe ich ein TImages aray hineingesetzt. jetzt wollte ich das ich auf ein Image klicke und es entweder die position in meiner komponente ändern kann oder die TImage an ein andere komponente übergebe. das heißt dass die index position und das TImage Übergeben muss.
ich habe noch nie eigene events erstellt (nur so als hinweiß)

weiß jemand wie soetwas get?

wenn ja dan antworte bitte

fajac 6. Jul 2009 10:52

Re: eigenes Drag Drop ereignis in eigener Komponente. WIE???
 
Wenn du von TCustomControl ableitest, brauchst du Drag&Drop nicht selbst implementieren, da das schon im Vorfahr TControl erledigt ist. Wenn du die Ereignisse nach außen durchreichen willst, reicht folgender Code im Deklarationsteil deiner Komponente.

Delphi-Quellcode:
published
  property OnDragDrop;
  property OnDragOver;
Wenn du die Ereignisse intern abfangen willst, kannst du ensprechende Handler-Methoden schreiben und sie im Konstruktor deiner Komponente zuweisen, also :

Delphi-Quellcode:
private
  procedure MyCustomDragDrop (Sender, Source: TObject; X, Y: Integer);
public
  constructor Create (AOwner : TComponent); override;
...

implementation

  constructor TMyComponent.Create (AOwner : TComponent);
  begin
    inherited Create (AOwner);
    Self.OnDragDrop := MyCustomDragDrop;
  end;
und mit OnDragOver genauso verfahren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz