From in Panel - Verschieben begrenzen

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Muelli
Beiträge: 7
Registriert: Di 28. Mai 2013, 07:46

From in Panel - Verschieben begrenzen

Beitrag von Muelli »

Hallo zusammen,

ich habe mal eine Frage und Google konnte mir keine zufriedenstellende Antwort liefern. Also hier mein Problem:

Ich habe ein Panel in dem ich ein form anzeigen lasse. Das Formular lässt sich allerding auch soweit verschieben dass es zum Teil aus dem Panelbereich "verschwindet". Kann man das verschieben auf die Panel-Border begrenzen?

Danke für eure Hilfe ;-)

MfG

der Mülli

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: From in Panel - Verschieben begrenzen

Beitrag von Michl »

Könntest einfach Borderstyle der Form auf bsNone setzen. Form ist dann nicht mehr mit der Maus verschiebbar.

Möglicherweise suchst Du aber auch eine andere Komponente z.B. TabControl oder PageControl, wo Du mehrere Seiten darstellen kannst (hättest dann keine separate Form) statt dem Panel?!

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Mathias
Beiträge: 6914
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: From in Panel - Verschieben begrenzen

Beitrag von Mathias »

Vielleicht geht es sehr einfach.

if Form.Left < 1 then Form.Left = 1;
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Muelli
Beiträge: 7
Registriert: Di 28. Mai 2013, 07:46

Re: From in Panel - Verschieben begrenzen

Beitrag von Muelli »

Hallo, erstmal DANKE! für die Anregungen...

@Michl:
Die Option mit Pages oder Tabs zu arbeiten habe ich leider nicht (mehr) ^^
Mein erster Versuch war es, statt dem From mit Frames zu arbeiten. Leider lassen sich die platzierten Steuerelemente etc. nicht so einfach auf ein neues Frame per C&P kopieren. Ich denke das wird bei der Page/Tab-Variante auch nicht anders sein.

Noch kurz zu meiner Vorstellung: Ich möchte jetzt ein "MainForm" oder Hauptfenster worauf ein Panel platziert ist. Außerhalb des Panels liegen Schaltflächen mit denen ich Forms im Panelbereich anzeigen lassen kann (Panel ist Parent der Form). Der Nutzer soll durchaus dies Forms im Panel noch verschieben können nur eben nicht aus dem Panelbereich heraus.

@Mathias:
Eine Überlegung in diese Richtung hatte ich auch schon. Einfach abfragen ob sich das Formular noch in den Grenzen des Panels befindet. Nur leider habe ich kein passendes Event wie "OnMove" bei den Ereignissen des Formulars gefunden und mit einen Timer der alle paar Millisekunden diese Abfrage macht wolle ich nicht arbeiten ^^

Ich hoffe ihr habt noch ein paar Ideen für mich...

MfG

der Mülli

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2809
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: From in Panel - Verschieben begrenzen

Beitrag von m.fuchs »

Muelli hat geschrieben:Eine Überlegung in diese Richtung hatte ich auch schon. Einfach abfragen ob sich das Formular noch in den Grenzen des Panels befindet. Nur leider habe ich kein passendes Event wie "OnMove" bei den Ereignissen des Formulars gefunden und mit einen Timer der alle paar Millisekunden diese Abfrage macht wolle ich nicht arbeiten ^^
OnChangeBounds dürfte da der richtige Kandidat sein.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Muelli
Beiträge: 7
Registriert: Di 28. Mai 2013, 07:46

Re: From in Panel - Verschieben begrenzen

Beitrag von Muelli »

@m.fuchs:
Danke Dir! Hat geklappt mit "OnChangeBounds" :) Konnte das Verschieben damit in alle 4 Richtungen begrenzen. Witzig ist, dass beim Versuch das Formular aus dem Panelbereich zu verschieben sich die Höhe des Formular verändert hat^^ Musste also Höhe und Breite nach den Prüfungen wieder zurücksetzen aber das macht ja nix.

Danke für die schnelle Unterstüzung!

MfG

der Mülli

Antworten