![]() |
Delphi-Version: 10 Seattle
Fokus auf mehrere Komponenten setzen
Hallo miteinander.
Weil ich neu bin eine wichtige Info: Ich bin Azubi zum Anwendungsentwickler (gerade mit den ersten 4 Monaten durch, wenig Vorwissen). Wir arbeiten in unserer Firma ausschließlich mit Delphi 10 Seattle. Nun programmiere ich gerade in Eigeninitiative einen Dartzähler, der das Schreiben auf Papier bei nicht elektronischen Dartscheiben erspraren soll, und auch selbstständig rechnet. Die Dartscheibe wurde von mir mit Buttons simuliert, also für jedes Feld das man treffen kann ein Button. Die Spielernamen sind in einem Label gespeichert, neben den Spielernamen habe ich jetzt mal einen Radiobutton gesetzt. Für jeden Spieler gibt es noch zwei zusätzliche Labels, einmal für den Punktestand und einmal für die Anzahl der gespielten Runden. Mein Problem ist der Fokus, und zwar gänzlich. Mir ist bewusst, dass es irgendeine Prozedur in "OnSpielStartButtonClick" sein muss, aber wie schreibe ich die? Der Fokus soll am Anfang auf Spieler1 liegen, nach 3 Würfen soll ein Button gedrückt werden und dann der Fokus auf dem nächsten Spieler und so weiter ... Wie setzte ich diesen Fokus, der alle Labels des jeweiligen Spielers umschließt, bis der Button gedrückt wird? Ich wäre euch für Hilfe sehr dankbar. Wenn ihr etwas braucht (Bild der Form oder Code) poste ich das gerne. |
AW: Fokus auf mehrere Komponenten setzen
![]() |
AW: Fokus auf mehrere Komponenten setzen
Es können afaik nicht mehrere Controls den Fokus haben und ich kann mir auch nicht ganz Vorstellen, wie du das meinst bzw. was du erreichen willst. Deßhalb mal ein genereller Tipp: Versuche die Rundenzahl, die Spielstände der Spieler, die Anzahl und Namen der Spieler und auch wer gerade aktiver Spieler ist nicht in irgendwelchen Controls (Labeln/Edits usw.) der GUI zu merken sondern benutze dafür Variablen und da Delphi ja OOP ist wären auch passende Objekte/Klassen eine feine Sache.
Im allgemeinen spricht man davon, die GUI nicht für die Datenhaltung zu benutzen, sondern nur um eine Repräsentation der Daten (die du anderswo in einer Logik gespeichert hast) für den Nutzer anzuzeigen. Mögliche Klassen/Objekte könnten sein: - Spiel - Spielrunde - Spieler - Scoreboard - ??? |
AW: Fokus auf mehrere Komponenten setzen
Zitat:
|
AW: Fokus auf mehrere Komponenten setzen
Ich denke mal der Titel Fokus auf mehrere Komponenten setzen ist etwas unglücklich (zumal sowieso nur Controls den Fokus haben können - sind auch Komponenten aber nicht jede Komponente ist ein Control ;)).
Es geht wohl eher um die Visualisierung welcher Spieler gerade aktiv ist und die Spieler-Visualisierung selber umfasst ein paar Controls für den Spielernamen, Punktestand, etc. Man kann sich für den Spieler ein Frame erstellen und dieses Frame eben x-mal auf der Form platzieren. Gibt man dem Frame jetzt noch eine Eigenschaft wie z.B. IsCurrent oder IsSelected dann kann man im Setter entsprechend reagieren. Zitat:
|
AW: Fokus auf mehrere Komponenten setzen
Liste der Anhänge anzeigen (Anzahl: 1)
Hier mal ein (etwas unsauber ausgeschnittenes) Bild, wie die Form Aussieht. Neben "lblspieler1" und "lblspieler2" befinden sich jeweils die Labels für den Punktestand und die gespielten Runden.
Ich hätte gerne, dass festgelegt wird welcher Spieler gerade spielt (über das Label, falls das geht) und bei Klick auf den z.b. 20er Button die Werte jeweils angepasst werden. Aber eben nur für den Spieler, der gerade dran ist. |
AW: Fokus auf mehrere Komponenten setzen
Zitat:
|
AW: Fokus auf mehrere Komponenten setzen
Mein Werbeblocker meldet bilder-upload.eu als Malware-Schleuder.
Bitte hänge den Screenshot einfach hier am Beitrag an. Siehe Button "Anhänge verwalten" fünf Zentimeter und den "Antworten"-Button. |
AW: Fokus auf mehrere Komponenten setzen
hallo,
um hervorzuheben welcher Speiler gerade an der Reihe ist, würde ich dessen Label's einfach Fett und ggf. mit einer größeren Schriftart darstellen. mfg |
AW: Fokus auf mehrere Komponenten setzen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:08 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 by Thomas Breitkreuz