Autor Beitrag
JRegier
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1268

Win XP Home, Prof, 2003 Server
D6 Enterprise
BeitragVerfasst: Mi 03.08.05 13:05 
Hi, ich versuche eine Komponente im Raster zu bewegen, zwar habe ich vorher nach dem OnMouseUp eintritt mit

ausblenden Delphi-Quelltext
1:
Left := Left - (Left mod Raster);					


gemacht!

Aber wie man in den Anwendungen bzw. IDE's sieht wird ja sofort nach Raster bewegt!
also wollte ich das sofort mit reinrechen und habe es so gemacht!

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure OnMouseDown( .. X, Y : Integer);
begin
  DownX := X;
  DownY := Y;
end;

procedure OnMouseMove(.. X, Y : Integer);
begin
   X := X - (X mod Raster);
   Y := Y - (Y mod Raster);
   Left := X - DownX + Left;
   Top := Y - DownY + Top;
end;


aber hier hüpft die Komponente wie ein Kälbchen hin und her!


Da habe ich gedacht ich müßte auch DownX und DownY raster berechen
und habe das so gemacht:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure OnMouseDown( .. X, Y : Integer);
begin
  DownX := X;
  DownY := Y;
end;

procedure OnMouseMove(.. X, Y : Integer);
begin
   X := X - (X mod Raster);
   DownX := DownX - (DownX mod Raster); // Also für DownX und DownY auch mit Rester berechen
   Y := Y - (Y mod Raster);
   DownY := DownY - (DownY mod Raster); 

   Left := X - DownX + Left;
   Top := Y - DownY + Top;
end;


Das klappt schon aber die Komponenten lassen sich nicht Linksbündig alle an einer Linie ausrichten!

Wie mache ich das richtig mit dem Raster?

Ich habe auch versucht DownX und DownY in entgegengesetzte richtung das Raster einzurechnen aber das müßte ich bestimmt
nur wenn sich X nach rasterberechnung ändert weil sonst ist mir die Komponente in den minus Bereich geflogen weil ich DownX
und DownY diese Rest immer hinzuaddiert habe der sich aus X mod Raster ergab!
arj
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 378

Win XP/Vista, Debian, (K)Ubuntu
Delphi 5 Prof, Delphi 7 Prof, C# (#Develop, VS 2005), Java (Eclipse), C++, QT, PHP, Python
BeitragVerfasst: Fr 05.08.05 12:54 
Wie wäre es wenn du erst einmmal in deinen Funktionen abfrägst ob überhaupt eine Taste gedrückt ist?
JRegier Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1268

Win XP Home, Prof, 2003 Server
D6 Enterprise
BeitragVerfasst: So 07.08.05 11:11 
user profile iconarj hat folgendes geschrieben:
Wie wäre es wenn du erst einmmal in deinen Funktionen abfrägst ob überhaupt eine Taste gedrückt ist?


Ah ja das habe ich , nur nicht hier im Beispiel! Aber es hat sich schon erledigt ich habe hier im DF
Code gefunden! Danke!