AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Eingabe auf Panel begrenzen?

Ein Thema von Mattze · begonnen am 11. Sep 2008 · letzter Beitrag vom 11. Sep 2008
Antwort Antwort
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#1

Eingabe auf Panel begrenzen?

  Alt 11. Sep 2008, 13:38
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
  Mit Zitat antworten Zitat
Benutzerbild von olee
olee

Registriert seit: 16. Feb 2008
Ort: Boppard
540 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Eingabe auf Panel begrenzen?

  Alt 11. Sep 2008, 13:42
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 ^^
Björn Zeutzheim
Codename: Performancepumpe
  Mit Zitat antworten Zitat
Benutzerbild von Reinhardtinho
Reinhardtinho

Registriert seit: 26. Feb 2007
411 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: Eingabe auf Panel begrenzen?

  Alt 11. Sep 2008, 13:44
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.
Ich habe viel von meinem Geld für Alkohol, Weiber und schnelle Autos ausgegeben ... Den Rest habe ich einfach verpraßt.

George Best - 22.05.1946 - 25.11.2005 - nordirischer Fußballspieler
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#4

Re: Eingabe auf Panel begrenzen?

  Alt 11. Sep 2008, 14:56
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
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:28 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