AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Komponenten zur Laufzeit bewegen (wie delphi es z.b tut)
Thema durchsuchen
Ansicht
Themen-Optionen

Komponenten zur Laufzeit bewegen (wie delphi es z.b tut)

Ein Thema von Pseudemys Nelsoni · begonnen am 25. Feb 2004 · letzter Beitrag vom 25. Feb 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

Komponenten zur Laufzeit bewegen (wie delphi es z.b tut)

  Alt 25. Feb 2004, 04:41
hoi,

kann mir jemand erklären wie das funktioniert (z.b delphi oder auch C usw), das man da bei dem form designer buttons memos und alles bewegen kann?
ich möchte nämlich so eine art dialog editor für mirc machen, dazu müsst ich allerdings wissen wie man die buttons etc bewegt und wie man diese anker zum grössen verstellen dort rankriegt
Mario
  Mit Zitat antworten Zitat
Urba

Registriert seit: 8. Dez 2002
Ort: Ketsch
120 Beiträge
 
Delphi 6 Personal
 
#2

Re: Komponenten zur Laufzeit bewegen (wie delphi es z.b tut)

  Alt 25. Feb 2004, 06:25
Hallo,

Bei den Ankern kann ich dir leider nicht helfen, mit dem Verschieben im Allgemeinen hingegen schon. Im OnMouseDown und im Up Ereigniss kann man die Cursor-Position innerhalb des Objekts herausfinden. Diese sind dort mit X und Y angegeben. Somit kannst du mit

Delphi-Quellcode:
Object.Left + X

und

Object.Top + Y
immer auf die globale Koordinate zugreifen.

Hoffe das hilft ein wenig.

Gruss
Urba
Es gibt keine blöden Fragen, nur blöde Antworten
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#3

Re: Komponenten zur Laufzeit bewegen (wie delphi es z.b tut)

  Alt 25. Feb 2004, 07:35
hoi,

jo, daran hatte ich auch schon gedacht, aber die events onmousedown/up werden ja nur einmal ausgeführt. ich bräuchte so eine art OnMouseMove innerhalb des OnMouseDown's
Mario
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Komponenten zur Laufzeit bewegen (wie delphi es z.b tut)

  Alt 25. Feb 2004, 07:43
Delphi-Quellcode:
procedure TJBPosSlider.fMouseDownProc(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  fIsMouseDown := True;
end;

procedure TJBPosSlider.fMouseUpProc(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  fIsMouseDown := False;
end;

procedure TJBPosSlider.fMouseMoveProc(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  if fIsMouseDown then
  begin
    //Quelltext zum verschieben
  end;
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Mirilin
Mirilin

Registriert seit: 21. Dez 2002
Ort: Lenzburg
861 Beiträge
 
Delphi 6 Professional
 
#5

Re: Komponenten zur Laufzeit bewegen (wie delphi es z.b tut)

  Alt 25. Feb 2004, 07:47


Klick

mfg Tobias
Tobias
Die Physik ist für die Physiker eigentlich viel zu schwer.
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#6

Re: Komponenten zur Laufzeit bewegen (wie delphi es z.b tut)

  Alt 25. Feb 2004, 08:43
hallo leute, danke für die antworten ^^


ich hab es mal mit:

Delphi-Quellcode:
var
  Form1: TForm1;
  isDown: boolean = false;
  stLeft, stTop: integer;

...

procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  isDown := true;
  stTop := Y;
  stLeft := X;
end;

...

procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  isDown := false;
end;

...

procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if isDown then
  begin
    if Y > stTop then
      Button1.Top := Button1.top+1
    else if stTop > Y then
      Button1.Top := Button1.top-1;
    if X > stLeft then
      Button1.Left := Button1.Left+1
    else if stTop > X then
      Button1.Left := Button1.Left-1;
  end;
end;

versucht. Funktioniert zwar (einigermaßen), ist aber saaaaaaulahm, besonders wenn man die maus schnell bewegt, da komt der button kaum hinterher, gehts auch anders?
Mario
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Komponenten zur Laufzeit bewegen (wie delphi es z.b tut)

  Alt 25. Feb 2004, 09:02
Ich versteh zwar net viel davon aber ich kann auch was leisten

mach doch bei Button1.left := Button1.left + 1 statt die eins eine höhere Zahl
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#8

Re: Komponenten zur Laufzeit bewegen (wie delphi es z.b tut)

  Alt 25. Feb 2004, 09:05
Hi!

Darf ich fragen, warum du es nicht so machst, wie die Schweizer?
Ich glaube, das geht besser oder täusche ich mich?

Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#9

Re: Komponenten zur Laufzeit bewegen (wie delphi es z.b tut)

  Alt 25. Feb 2004, 09:17
jo, das von den schweizern geht, nur da kapier ich den source nicht so ganz, was bewirkt die neue klasse?
Mario
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#10

Re: Komponenten zur Laufzeit bewegen (wie delphi es z.b tut)

  Alt 25. Feb 2004, 16:26
oder statt +/- 1 setz ihn direkt dahin, wo die Maus ist...
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  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 18:26 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