Bedienelemente fokusieren



  • Hallo,

    ich rufe in meinem Hauptformular (Form1) ein Unterformular auf, in welchem ich Eingaben mache, die zur Ausführung des Programms notwendig sind.
    Diese Eingaben haben Default-Werte. Ich muss meistens also nur den Bestätigungsbutton drücken.
    Wenn ich in das Formular wechsel geht der Fokus jedoch auf eine Eingabebox. Ist es möglich, dass der Button standardmäßig angewählt ist und ich nur Enter drücken muss?



  • Hallo

    siehe die Eigenschaft TButton::Default.

    bis bald
    akari



  • Okay. Danke. Das klappt! 🙂

    Was ich nicht verstehe ist, dass trotzdem noch die EditBox angewählt ist (blau hinterlegt). Wenn ich Enter drücke, wird aber der Button offensichtlich gedrückt.



  • Hallo

    Ja genau das ist der Sinn und Zweck der Eigenschaften. Damit ist es für den Benutzer am schnellsten, die Notwendigen Daten einzugeben und mit einem einfachen Enter$ das Fenster (positiv) zu schließen.
    Oder wie es die BCB-Hilfe ausdrückt

    Jede Schaltfläche, die den Fokus besitzt, wird vorübergehend zur Standardschaltfläche. Wenn der Fokus an ein Steuerelement weitergegeben wird, das keine Schaltfläche ist, wird diejenige Schaltfläche wieder zur Standardschaltfläche, deren Eigenschaft Default auf True gesetzt ist.

    bis bald
    akari



  • Beim Anzeigen eines Dialogs(Formulars) wird das Element mit dem kleinsten TabOrder-Wert (meistens Null) zuerst fokussiert. Mittels der Einstellung TButton::Default wird nur das Betätigen der Return(Enter)-Taste auf den Button umgeleitet.

    Die TabOrder kann man durch Wechseln der Erstellreihenfolge ändern (Kontextmenü beim Formular).



  • Okay, vielen Dank. So gehts! 😃


Anmelden zum Antworten