Entwickler-Ecke
Multimedia / Grafik - Rahmen ziehen wie bei Explorer (Win XP).
SHIFTER - Sa 26.07.03 19:42
Titel: Rahmen ziehen wie bei Explorer (Win XP).
Hi,
dann habe ich noch ein problemchen.
Betr. Windows XP
Wenn man mehrere Dateien in den Explorer auswählen möchte kann mann doch mit der maus die gewönschte sachen mackieren.
Wie kann ich so ein Rahmen erstellen ?
Hat schon jemand sich damit beschäftigt ?
Gruss
Seba
UGrohne - Sa 26.07.03 19:53
OK, du brauchst die drei Ereignisse
- OnMouseDown
- OnMouseUp
- OnMouseMove
Folgende globale Variablen werden benötigt:
Delphi-Quelltext
1: 2: 3:
| DragStartX,DragStartY,LastX,LastY:integer; DragAction:Boolean; OldPenMode:TPen |
Und hier ist der Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if Button=mbLeft then begin DragStartX:=x; DragStartY:=y; LastX:=x; LastY:=y; DragAction:=True; end; end; |
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if DragAction then begin OldPenMode:=Image1.Canvas.Pen; with Image1.Canvas do begin Pen.Color:=clgray; Pen.Mode:=pmNot; Brush.Style:=bsClear; Rectangle(DragStartX,DragStartY,LastX,LastY); if (x-DragstartX)<(y-DragstartY) then x:=(y-DragstartY+DragstartX) else y:=(x-DragstartX+DragstartY); Rectangle(DragStartX,DragStartY,x,y); LastX:=x;LastY:=y; end; end; end; |
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if DragAction then begin with Image1.Canvas do begin Pen.Color:=clgray; Pen.Mode:=pmNot; Brush.Style:=bsClear; Rectangle(DragStartX,DragStartY,LastX,LastY); DragAction:=False; Pen:=OldPenMode; end; if (x=DragStartX) OR (y=DragStartY) then begin Exit; end; end; end; |
Ich hoffe, ich hab alles nicht dazugehörende richtig rausgeschnitten, was war Teil einer ziemlich großen Prozedur :wink:
Anmerkung: Das oben ist von einem alten beitrag von mir rauskopiert und auf ein Image angewendet, aber es müsste bei jeder Kompo mit Canvas funktionieren. Weiß ja net, was Du nimmst, hoffe es hilft Dir
SHIFTER - Sa 26.07.03 22:44
Hi,
und Danke erstmal für die Antwort.
Es ist nicht ganz das was ich suche,
ich suche das in den XP Design.
Wenn Du XP vieleicht hast dann weist du was ich meine ansonsten kann ich ein screenshot posten.
Gruss
seba
Aya - Sa 26.07.03 22:46
Hi,
dafür mußt du nur den Pen und den Brush ändern :)
Damit kannst du dann die LinienFarbe etc festlegen.
Au'revoir,
Aya~
maximus - So 27.07.03 00:43
Ich glaub nicht, dass es ihm um die linienfarbe geht...sondern um die schicke alpha-fläsche (halbtranzparent)! Da wirds schon bischen komplizierter :wink: Wüste jetzt auch nicht wies gemacht wird...
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!