![]() |
Eingabe auf Panel begrenzen?
Hi,
bei Formularen ist alles klar (showmodal), aber nicht immer braucht man gleich ein ausgewachsenes Formular... Mir reicht z. B. ein Panel mit ein paar Controls und einem OK-Button. Nun ist aber die Frage, wie ich die Eingabemöglichkeiten auf dieses Panel begrenzen kann. Ich rufe das Panel ("irgendwie") auf und nun sollen nur noch die Controls des Panels funktionieren. Das Hauptformular und dessen andere Controls sind erst mal gesperrt. Nachdem ich den OK-Button auf dem Panel gedrückt habe, "verschwindet" das Panel und es kann wieder überall im Hauptformular gearbeitet werden. Geht das? Oder ist ein Formular (zur Laufzeit) da doch die bessere Variante? Gruß Mattze |
Re: Eingabe auf Panel begrenzen?
Ich würde klar ein Formular verwenden.
(Zumindest in 99% der Fälle) Wenn du das aber so machen willst empfehle ich dir, einfach das Formular auf Enabled := false zu setzen. Wenn das nicht reichen sollte gehst du einfach noch alle Controlls des Formulars durch und machst das gleiche bei denen. (da natürlich auch wieder Unter-Controlls der Unter-Controlls ^^) Zuletzt kannst du dann dein Panel mit Visible := true sichtbar machen und falls nötig mit Enabled auch wieder aktivieren. (das Enabled natürlich dann auch auf die Unter-Controlls vom Panel) MFG Björn Endlich mal erster ^^ |
Re: Eingabe auf Panel begrenzen?
Mir fällt ehrlich gesagt, kein Programm ein, wo eine Benutzereingabe über ein modales Panel gemacht wird.
Ich mache solche Abfragen immer über eine extra Formular und über Properties greife ich dann auf die Benutzereingaben zu. Das Formular kannst du ja nach deinen Wünschen gestalten, dass man z.b. kein Rand sieht, wenn es dir da drum geht. |
Re: Eingabe auf Panel begrenzen?
Hi,
mal konkret, was ich machen wollte: Über das Hauptformular wird ein Bild angezeigt. Über einen Speedbutton im Hauptformular kann das Bild gedreht werden. Vorgegeben sind jeweils 90° gegen den Uhrzeiger. Bei Bedarf kann mit Strg-Alt-Click auch eine "freie Drehung" skaliert werden. (Im OnMouseUp) Dazu wird ein Panel aufgerufen, auf dem die Drehrichtung per Radiobutton und der freie Drehwinkel per Editfeld eingegeben werden. Außerdem gibt es noch einen OK-Button, wenn man mit der Eingabe fertig ist. Das klappt auch alles sehr gut! Allerdings möchte ich eben verhindern, dass man auf dem Hauptformular noch etwas anderes macht. Erst mal soll man natürlich das erledigt haben, dann kann man beliebig weiter machen. Per Formular statt Panel wäre das mit showmodal kein Problem. Aber, wie gesagt, ich wollte da nicht gleich mit der Keule des Formulars rangehen. Weniger reicht auch! Aber geht das ("Weniger") Panel auch so zu steuern? Ich kann mir da nichts vorstellen und bin nun doch der Formularmeinung. Da ich aber alle Controls erst zur Laufzeit erstelle - viel Arbeit und ich bin faul! (Ist eine Klasse, mit der ich eigentlich nur alles mögliche anzeigen kann. Eben auch Bilder und die möchte ich gerne unter anderem drehen können!) Gruß Mattze |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz