Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Panel mit der maus bewegen(c++) (https://www.delphipraxis.net/15314-panel-mit-der-maus-bewegen-c.html)

PomBär 26. Jan 2004 13:31


Panel mit der maus bewegen(c++)
 
hi leutz
ich möchte unter c++
ein Panel mit der maus bewegen aber wenn ich es anklicke verschwindet es
wisst ihr was ich was gemacht habe?
Delphi-Quellcode:
int px, py;

void __fastcall TForm1::Panel4MouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
    if (Shift.Contains(ssLeft))
    {Panel4->Top = Shape1->Left + X - py;
    Panel4->Left = Shape1->Top + Y - px;};
}

PomBär 26. Jan 2004 13:37

Re: Panel mit der maus bewegen(c++)
 
schon ok
hab den fehler gefunden
man darf kein shape benutzen sondern das selbe panel
in diesem fall panel4

PomBär 26. Jan 2004 13:41

Re: Panel mit der maus bewegen(c++)
 
void __fastcall TForm1::Panel4MouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
if (Shift.Contains(ssLeft))
{Panel4->Left = Panel4->Left + X - px;
Panel4->Top = Panel4->Top + Y - py;};
}

taza 11. Mär 2004 19:27

Re: Panel mit der maus bewegen(c++)
 
:(

Alles schön und gut, aber wie funktioniert das ganze denn bei Delphi???

Bitte um schnelle Antwort......... :!: :!: :!:

:(

Wheelie 11. Mär 2004 21:04

Re: Panel mit der maus bewegen(c++)
 
Für Delphi:

Delphi-Quellcode:
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var Punkt: TPoint;
begin
  if ssLeft in Shift then
  begin
    GetCursorPos(Punkt);
    Panel1.Top := Punkt.y - Top - Panel1.Height div 2;
    Panel1.Left := Punkt.x - Left - Panel1.Width div 2;
  end;
end;

taza 12. Mär 2004 12:53

Re: Panel mit der maus bewegen(c++)
 
Vielen Dank; das hat mir schon sehr geholfen.
Geht es auch noch ohne, das man das Panel anklicken muss, dh es automatisch mit der Maus mitgeht??

Wenn nicht, ist auch nicht schlimm............... :)

taza 12. Mär 2004 13:02

Re: Panel mit der maus bewegen(c++)
 
Achso; nochwas: Kann man dann auch mit einem Mausklick mehrere Panels gleichzeitig bewegen?
Das wär echt noch der Hammer

Sorry, dass meine Fragen sehr speziell sind, aber vielleicht weiß es ja jemand!
:wink:

Wheelie 12. Mär 2004 14:33

Re: Panel mit der maus bewegen(c++)
 
Zitat:

Zitat von taza
Geht es auch noch ohne, das man das Panel anklicken muss, dh es automatisch mit der Maus mitgeht??

Kein Problem:
Delphi-Quellcode:
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var Punkt: TPoint;
begin
  GetCursorPos(Punkt);
  Panel1.Top := Punkt.y - Top - Panel1.Height div 2;
  Panel1.Left := Punkt.x - Left - Panel1.Width div 2;
end;
Und optional (Panel folgt der Maus damit ständig) ...

Delphi-Quellcode:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var Punkt: TPoint;
begin
  GetCursorPos(Punkt);
  Panel1.Top := Punkt.y - Top - Panel1.Height div 2;
  Panel1.Left := Punkt.x - Left - Panel1.Width div 2;
end;

taza 12. Mär 2004 16:30

Re: Panel mit der maus bewegen(c++)
 
Vielen Dank; vielleicht hab' ich noch weitere Fragen.............. :wink:

taza 13. Mär 2004 13:09

Re: Panel mit der maus bewegen(c++)
 
Noch ne Frage!

Ist es möglich, die "Panel-Steuerung" mit der Maus erst durch einen best. Tastendruck zu aktivieren, also dass man vorher noch die Maus "so alleine" hat, ohne das einem das Panel folgt?

Danke schonmal............ :|


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:16 Uhr.
Seite 1 von 2  1 2      

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