Komponentengröße und Position verändern

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Nils
Beiträge: 130
Registriert: Mo 28. Mai 2007, 12:36
Kontaktdaten:

Beitrag von Nils »

Hm, so funktioniert das auch nicht, dann schiebt es sich enorm weit nach rechts, aber bevor dies geschieht, springt das Panel über die Formbreite hinweg.
Meine Musik: spiker-music.net

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Aber ich glaube ich weiß warum das nicht geht:
Die Maus Positions angeben sind falsch !
die benötigst die Allgemeine Mausposition also nicht nur die vom Panel sondern die Tatsächliche Mausposition vom From. wenn du die hast müsste es gehen.

ich habe schon versucht von Form1 die Mausmove Positionen zu speichern, aber das setzten geht trotzdem nicht !

Am besten ist: Du versucht die Allgemeine Maus Position zu ermitteln also wo sich die maus gerade befindet.
Wenn das hast musst du nur noch die Left und Top Werte von From abziehen.

Das Problem ist dann: Alle Komponenten die du Verschieben möchtest müssen ein und das selbe MouseMove Ereignis haben !
Dann könnte es gehen.

wenn nicht, wüsste ich keine Lösung mehr, hast du dir mal die Datei angesehen die ich dir gepostet habe ?
MFG
Michael Springwald

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Es wird am Umrechnungproblem liegen.

Du musst wohl genauer unterscheiden zwischen:

Mausposition im Momentanen Objekt
Mausposition im Bildschirm und
Mausposition auf Form,

und letzteres brauchst du, wärhenddessen ich gleube, das zweiteres zurückgegeben wird.

Zum Umwandeln sollte folgendes helfen:

Code: Alles auswählen

function ScreenToClient();
  function ClientToScreen();
  function ScreenToControl();
  function ControlToScreen();
zu finden hier: TControl in Controls

theorteisch kannst du so auch über das Klick gehen, und die Maus entsprechend abfnagnen, mal nen Beispiel von mir dazu aus nem anderen Quellcode:

Code: Alles auswählen

var Grid_Koords: TPoint;
begin
  Grid_Koords := Stringgrid.ScreenToClient(Mouse.CursorPos);
Johannes

Nils
Beiträge: 130
Registriert: Mo 28. Mai 2007, 12:36
Kontaktdaten:

Beitrag von Nils »

Mittlerweile habe ich es hinbekommen. Nun gibt es aber beim Skalieren ein großes Problem: es wird einfach merkwüridg skaliert, zieht euch am besten einfach das Projekt. Es ist noch ein kleiner Fehler drinnen: OnMouseDown := PMouseDownEcke; <-- er will mehr Parameter, aber das geht einfach nicht. Auch da wäre ich für eine Lösung sehr dankbar.

[OT]
Warum habe ich hier Zeichenfehler ? Aus Klammer zu wird %u29. Dies geschieht nur in diesem Forum. Ich hatte vorher Zeilenumbruchfehler, als ich den Code abgesendet hatte. Danach waren diese Zeichen anstelle von normalen Zeichen drinnen. Danach konnte ich zwar die Umbrüche löschen, musste allerdings den kompletten Code in gedit einfügen, um die Zeichencodes zu ersetzen. Edit: Neue Erkentniss: Als ich den letzten Satz schrieb und absendete, wurde wieder alles in diese Zeichencodes zurückgesetzt. Liegt es am Editiermodus von diesem Forum ? <-- Das zählt nun nicht mehr, aber nur, weil ich keine Codes mehr im Post habe.
[/OT]
Dateianhänge
Formgestalter.tar.gz
(3.15 KiB) 67-mal heruntergeladen

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Manchmal verschlugt sich AJAX beim zweiten oder dritten editieren und ersetzt Sonderzeichen. Aber beim erstellen mir nicht bekannt.
Welcher Browser? Und vielleicht das nächste mal nen Screen ich kann mir das gerade nicht so ganz vorstellen ;)
Johannes

Nils
Beiträge: 130
Registriert: Mo 28. Mai 2007, 12:36
Kontaktdaten:

Beitrag von Nils »

Iceweasel, also falls du ihn unter dem Namen nicht kennst: Firefox.
Meine Musik: spiker-music.net

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Danke, im normalen Firefox kenn ich das Verhalten so nicht, ich werd bei Gelegenheit mal Iceweasel probieren.
Johannes

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

Nils hat geschrieben: [OT]
Warum habe ich hier Zeichenfehler ? Aus Klammer zu wird %u29.
Am Iceweasel kann es nicht liegen, verwende ihn auch und habe nicht den genannten Fehler.

Glaube aber tatsächlich, es ist ein Bug in der Forensoftware. Vgl. Schnullers letzter Beitrag hier:

http://www.lazarusforum.de/viewtopic.php?t=788&start=15" onclick="window.open(this.href);return false;

(der Pascal-Code ist erst auf dem zweiten Blick leserlich)
Auch in Schnullers Beitrag wird "(" zu %u28 und ")" zu %u29.

Oder probierst du neue Verschlüsselungstechniken aus, monta? ;)

Antworten