Butten mit der maus verschieben können

ZeroGirl

Mitglied
Ich soll ein Programm schreiben was einer Pivot-Tabelle in Excel ähnelt,
dazu brauche ich Buttons die ich mit der maus in ein anderes feld auf der Form verschieben kann!

Kann mir da irgendjemand weiterhelfen? :confused:

Über eine schnelle antwort würde ich mich sehr freuen...

Mfg

ZeroGirl
 
Zuletzt bearbeitet:
Das Verschieben mit der Maus erfordert, dass du auf Mausereignisse reagierst. Du willst einen Button verschieben, das heißt, der Empfänger dieser Mausereignisse ist ein Button. Indem du nun Handler-Prozeduren für die jeweiligen Ereignisse des Buttons schreibst, kannst du so das Verschieben realisieren. Diese Mausereignisse sind beispielsweise OnMouseDown und OnMouseMove.

Gawayn
 
Danke für die Antwort! :)

Ich werde es mal versuchen!

Mir hat jemand irgendetwas von dem OnDragDrop Ereigniss erzählt, was hat es denn damit aufsich? :confused:
 
Mit OnDragDrop kann man auch Objekte mit der Maus ziehen und "fallenlassen". Allerdings ist diese Methode nicht so sehr etwas für Anfänger. Wenn du nähere Informationen möchtest, schau einfach in der Delphi-Hilfe zu dem Thema nach. Du kannst die Sache ja mal ausprobieren und gucken, was besser funktioniert!

Gawayn
 
In der Hilfe stehen leider keine wirklich brauchbaren Beispiele drinne. :(
Naja, mal sehen vielleicht findet man ja noch was im i-net... :google:
 
Wäre das, das was ich suche?:

procedure TFMForm.FileListBox1MouseDown(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft then { Nur ziehen, wenn linke Maustaste gedrückt ist }
with Sender as TFileListBox do { Sender als TFileListBox behandeln }
begin
if ItemAtPos(Point(X, Y), True) >= 0 then { Element vorhanden? }
BeginDrag(False); { Wenn ja, dann ziehen }
end;
end;

Oder liege ich da immer noch falsch?
Kann man das überhaupt mit Buttons machen?
Oder geht es mit was anderem leichter oder so?
 
Hast du es denn noch nicht in einem eigenen Programm ausprobiert? Ich analysiere den Code, den du da reingeschrieben hast, jetzt nicht, weil es grundsätzlich nicht so sinnvoll ist, sich über Code Gedanken zu machen, den man noch gar nicht getestet hat. Ich würde dir den Rat geben, einfach ein wenig mit Delphi herumzuprobieren, und wenn etwas nicht funktioniert, zu fragen.

Gawayn
 
Ich muss ja erstmal was finden was ich zum ausprobieren nehmen kann! :-(

Aber trotzdem danke erstmal für deine Hilfe...
 
Mir wird immer wieder dieser fehler angezeigt!

[Fehler] Unit1.pas(56): Undefinierter Bezeichner: 'ItemAtPos'

Das ist der Quelltext dazu:

begin
if Button = mbLeft then {Nur ziehen, wenn linke Maustaste gedrückt ist}
with Sender as TButton do {Sender als Button behandeln}
begin
if ItemAtPos(Point(X, Y), True) >= 0 then {Element vorhanden?}
BeginDrag(False); {Wenn ja, dann ziehen}
end;
end;

Wo isn da der fehler?
 
O.K. das mit dem fehler hat sich erledigt, habe ihn endlich gefunden!
Jetzt wird das Prog wieder Compiliert... :)

Aber so ganz klappen tut es immer noch nicht! Der Button will sich einfach
nicht bewegen! Nur der Pfeil der Maus sieht so aus als würde der Button
schon gezogen werden... :)

Naja, wenigstens etwas... :)
 

Neue Beiträge

Zurück