AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mausklick

Ein Thema von Spike2k3 · begonnen am 16. Feb 2004 · letzter Beitrag vom 11. Mai 2005
Antwort Antwort
Seite 1 von 2  1 2      
Spike2k3

Registriert seit: 20. Aug 2003
73 Beiträge
 
Delphi 7 Enterprise
 
#1

Mausklick

  Alt 16. Feb 2004, 22:21
hi,
ICh möchte gern ein Shape bewegen, indem ich es anklicke und es dann dem Mauszeigerfolgt...(nur auffer X-achse)

ICh hab mir sowas hier gedacht:

Delphi-Quellcode:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
if TMouseButton(mbleft)= ???? then
Shape1.left:=Mouse.CursorPos.X - (Shape1.Width div 2);
end;
Mein HAuptprobelm ist, wie setz ich den linken Mausbutton "down" ?
also, wenn er gedrückt ist und man die MAus bewegt, bewegt sich auch das Shape

ICh hoffe ihr könnt mir wie schon so oft helfen ...
Is wahrscheinlich wieder ganz simple und ich habs übersehn

Greetz Spike
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#2

Re: Mausklick

  Alt 16. Feb 2004, 22:47
Führe eine weitere Variable ein

sagen wie lMouseDown

die setzt du in MouseDown auf true
und in MouseUp auf false

in MouseMove prüfst du ob lMouseDown true ist und führst deine Bewegung aus!
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Mausklick

  Alt 16. Feb 2004, 22:48
Nimm ein boolean daher, und setze ihn bei onMouseDown true, und bei onMouseUp false. Nun kannst du onMouseMove diesen abfragen, und gegebenen Falls das Shape bewegen.


gruss,
dizzy

(*gnnnnnn - zu spät... *)
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Spike2k3

Registriert seit: 20. Aug 2003
73 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Mausklick

  Alt 16. Feb 2004, 23:03
klappt ...
Nur leider verrutsch mein Shape dann immer...
also ich klick es an und kann es mit 5 cm Abstand verschieben....
Wie kann ich das verändern???

Delphi-Quellcode:
procedure TForm1.Shape1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
if I=true then
Shape1.left:=Mouse.CursorPos.X - shape1.width div 2; //???
end;
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#5

Re: Mausklick

  Alt 16. Feb 2004, 23:08
Delphi-Quellcode:
// in Klasse
   lMouseDown : Boolean;
   iMouseDownX : Integer;


in ShapeMouseDown
begin
  lMouseDown := true;
  iMouseDownX := X;
end;


in ShapeMouseUp
begin
  lMouseDown := false;
end;

in ShapeMouseMove
begin
  if lMouseDown then
     begin
       shape1.Left := shape1.Left + x - iMouseDownX; // das + oder kann auch ein - sein ???
       iMouseDownX := x;
     end;
end;
So ungefähr
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Spike2k3

Registriert seit: 20. Aug 2003
73 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Mausklick

  Alt 16. Feb 2004, 23:17
Check ich irgendwie nicht...
ich will ja den Integerwert nicht angeben, der ändert sich doch ständig...

So, klappt das irgendwie ansatzweise...nur blinkt dann das Ding wie blöde und taucht auch rechts wieder auf:

Delphi-Quellcode:
procedure TForm1.Shape1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
if I=true then
Shape1.left:=Mouse.CursorPos.X - (Shape1.left-Mouse.CursorPos.X);
end;
//edit...ich glaub ich war wieder mal zu blöd, muss nochma was gucken X is ja Mouse.CursorPos.X..dooh...na ma sehn...
  Mit Zitat antworten Zitat
Spike2k3

Registriert seit: 20. Aug 2003
73 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Mausklick

  Alt 16. Feb 2004, 23:21
Klappt auch nich wirklich besser deine Vers....da blinkt das Ding auch wie hackedicht und zudem taucht es locker zweima auf...
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#8

Re: Mausklick

  Alt 16. Feb 2004, 23:22
Mit dieser Operation "x - iMouseDownX" rechne ich die Relative Bewegung der Maus aus.

Die brauch ich damit ich weis um wieviel sich das Shape bewegen soll.

Das Flackern kommt daher, weil das Shape andauernt neu gezeichnet wird.
Das wäre aber ein Neues Thema.

Erstmal sollte eins komplett funktionieren.

-> Mach es Bitte mal so wie ich es beschrieben habe, vielleicht verstehst du es dann!
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Spike2k3

Registriert seit: 20. Aug 2003
73 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Mausklick

  Alt 16. Feb 2004, 23:25
ICh habs so gemacht und hab jetzt zwei flackernde Shapes hier rumfahren...
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#10

Re: Mausklick

  Alt 16. Feb 2004, 23:26
Die klappt die Bewegung jetzt wenigstens einwandfrei?
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:34 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