Entwickler-Ecke

Sonstiges (Delphi) - TImages unter einem Viereck?!?!


Soapy - Fr 21.03.08 17:10
Titel: TImages unter einem Viereck?!?!
Jetzt bin ich mal wieder da :oops: :lol:

Es geht darum:
Ich will feststellen, ob sich TImages unter einem von mir gezogenen Viereck befinden.

Ich hab mir sowas überlegt:



Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
procedure TForm1.MainMapStartDrag(Sender: TObject; var DragObject: TDragObject);
begin
RectX1 := ScreenToClient(Mouse.CursorPos).X;
RectY1 := ScreenToClient(Mouse.CursorPos).Y;
end;

procedure TForm1.MainMapEndDrag(Sender, Target: TObject; X, Y: Integer);
var i: integer;
begin
RectX2 := ScreenToClient(Mouse.CursorPos).X;
RectY2 := ScreenToClient(Mouse.CursorPos).Y;
Rselect := Rect(RectX1,RectY1,RectX2,RectY2);
for i := 0 to (length(FImages)-1do begin
  if (FImagesKoordsX[i] > RectX1) and (FImagesKoordsX[i] < RectX2) then begin
    if (FImagesKoordsX[i] > RectX1) and (FImagesKoordsY[i] < RectX2) then begin
      FImages[i].Visible := false;
    end;
  end;
end;

end;


Dies funktioniert leider nicht, und ich weiß nicht ob ich die OnStartDrag und die OnEndDrag- Ereignisse richtig eingesetzt habe, da ich diese Funktionen zum ersten mal eingesetzt habe.

Ich bedanke mich im vorraus schon mal für die Antworten!


Soapy - Sa 22.03.08 16:58

hat niemand ne idee? :cry:


elundril - Sa 22.03.08 17:03

imho is start und enddrag zum ziehen von objekten als von Images oder Labels oder so.

ich würd eher MouseUp und MouseDown verwenden. vielleicht funktionierts dann.

lg elundril


Soapy - Sa 22.03.08 17:15

Ok vielen dank!
Ich probiers mal!