AGB  ·  Datenschutz  ·  Impressum  







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

Objekte verschieben

Ein Thema von cRayZo · begonnen am 31. Okt 2007 · letzter Beitrag vom 31. Okt 2007
Antwort Antwort
cRayZo

Registriert seit: 30. Jul 2007
156 Beiträge
 
Delphi 6 Personal
 
#1

Objekte verschieben

  Alt 31. Okt 2007, 17:28
Hi ich habe eine Frage bzgl. dem verschieben von Objekten.
Ich möchte ein Programm schreiben, indem eine checkbox, wenn sie checked=true ist, der Maus folgt (solange diese im Panel ist, in dem sich die checkbox befindet).
Wenn ich die Checkbox wieder deaktiviere, soll die checkbox dort bleiben, wo sie zuletzt war.

Ich habe das so versucht aber klappt überhaupt nicht:
Delphi-Quellcode:
global: dragaktiv:Boolean;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
CursorPos:TPoint;
begin
if Dragaktiv=True then begin
GetCursorPos(CursorPos);
Centercheck.Left:=Cursorpos.X; Centercheck.Top:=Cursorpos.Y;
end;
end;

procedure TForm1.CenterCheckClick(Sender: TObject);
begin
if Centercheck.Checked=False then Dragaktiv:=True;
else Dragaktiv:=False;
end;
Problemansatz: was ich denke, ist, dass die Funktion GetCursorPos die Position des Totalen Bildschirms angibt, der Left bzw Top von der CHeckbox aber nur im Panel Funktioniert..nur ich habe keine Ahnung wie ich das ändern kann
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: Objekte verschieben

  Alt 31. Okt 2007, 17:29
Hi,

Du bekommst in den Parametern des MouseMove Ereignisses die relativen X und Y Werte

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
cRayZo

Registriert seit: 30. Jul 2007
156 Beiträge
 
Delphi 6 Personal
 
#3

Re: Objekte verschieben

  Alt 31. Okt 2007, 17:36
hm okay und das heißt?..

(sprich ich weiß nicht wie ich das ändern soll^^)
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

Re: Objekte verschieben

  Alt 31. Okt 2007, 17:38
Delphi-Quellcode:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X {1},
  Y {2}: Integer);
begin
  if Dragaktiv then // besser als "Dragaktive = true"
  begin
    Centercheck.Left:= X {1};
    Centercheck.Top := Y {2};
  end
end;
Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
cRayZo

Registriert seit: 30. Jul 2007
156 Beiträge
 
Delphi 6 Personal
 
#5

Re: Objekte verschieben

  Alt 31. Okt 2007, 17:51
okay also die checkbox bewegt sich immerhin schonmal mit thx

PROBLEM aber:

Sobald mein Mauscursor in den Panel kommt, indem die Checkbox ist (also sobald die maus nichtmehr den normalen TForm untergrund hat) bewegt sich die checkbox nicht mehr, obwohl sie es genau dann tun sollte^^
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

Re: Objekte verschieben

  Alt 31. Okt 2007, 18:21
Dann musst du das MouseMove Event des Panels benutzen
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
cRayZo

Registriert seit: 30. Jul 2007
156 Beiträge
 
Delphi 6 Personal
 
#7

Re: Objekte verschieben

  Alt 31. Okt 2007, 18:48
klingt logisch, ist logisch und funktioniert sogar thx

und wo wir gleich dabei sind: das mit der checkbox ist iwie blöd, wenn ich das ganze so machen will, dass das Objekt nur dann der Maus folgt, wenn ich sagen wir mal "shift" gedrück habe?

schon n bisschen rumgespiel, aber das geht nicht..
hat da Irgendjemand eine Idee???
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:16 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 by Thomas Breitkreuz