![]() |
[drag'n'drop] panels auf images legen/anpassen
hi!
ich erstelle panels zur laufzeit und sollte diese dann in verschiedene images legen. mein drag and drop-code ist bisher folgender:
Delphi-Quellcode:
das drag and drop der panels funktioniert also bis jetzt, nun muss ich noch die panels "ausrichten", also wenn man ein panel über ein image zieht, dann soll es z.b. 5 pixel vom oberen und linken rand entfernt sein. also so dass es immer im image zentriert ist.
procedure TForm1.OnMD(Sender: TObject; Button: TMouseButton; // onmousedown
Shift: TShiftState; X, Y: Integer); begin if not Drag then begin Drag:=True; Kx:=X; Ky:=Y; end; end; procedure TForm1.onMU(Sender: TObject; Button: TMouseButton; // onmouseup Shift: TShiftState; X, Y: Integer); begin if Drag then Drag:=False; end; procedure TForm1.OnMM(Sender: TObject; Shift: TShiftState; X,Y: Integer); // onmousemove begin if Drag then begin TControl(Sender).Left:=Min(Max( 10,TControl(Sender).Left+X-Kx), Form1.ClientWidth -TControl(Sender).Width -10); TControl(Sender).Top :=Min(Max(200,TControl(Sender).Top +Y-Ky), Form1.ClientHeight-TControl(Sender).Height-30); end; end; wie finde ich heraus, ob das panel überhaupt über einem image ist? greetz fluffy ps: programmiere gerade mein erstes kleines projekt über drag and drop, deshalb könnte es zuweilen sein, dass man :wall: macht... ihr wisst schon :mrgreen: |
Re: [drag'n'drop] panels auf images legen/anpassen
achja, die images sind in einem zweidimensionalen array angeordnet:
Delphi-Quellcode:
und ich komm nicht weiter... schon seit zwei tagen :gruebel:
image:array[0..25,0..14] of TImage;
|
Re: [drag'n'drop] panels auf images legen/anpassen
okay, habs rausgefunden :mrgreen:
das ist immer so komisch, wenn man eine frage erst mal formuliert hat und danach drüber nachdenkt, kommt einem plötzlich eine mögliche antwort in den sinn ^^ ich hab jetzt in diesem fall einfach das onmousemove-ereignis modifiziert, indem ich mir die koordinaten von form1 gemerkt habe und dann (weil die images schön angeordnet sind) einfach die koordinaten verändert, so dass die panels zentriert erscheinen. aber keine sorge, meine fragen sind noch nicht zu ende :mrgreen: greetz fluffy |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz