Ermitteln der ausgewählten Option, Scrollen in Listen-Gadget
Verfasst: 06.03.2018 17:42
Hallo,
ich bin bei meinem letzten Programm auf vier Probleme gestoßen, und poste sie jetzt der Einfachheit halber mal zusammen, anstatt drei Themen daraus zu machen. Falls das nicht zulässig sein sollte, bitte ich um eine entsprechende Info.
1. Ich habe im Hauptfenster einen Gruppe von 8 OptionGadgets, bei der erfragt werden soll, welche der 8 Optionen ausgewählt ist. Gibt es einen eleganteren Weg, die aktivierte Option zu ermitteln, als über eine If-Kaskade wie
2. Wenn ein ListIcon-Gadget mehr Einträge enthält, als gleichzeitig angezeigt werden können, verpaßt PureBasic dem Gadget automatisch einen vertikalen Scrollbalken. Mein Problem: Fügt man mit AddGadgetItem(#Gadget, -1, …) der Liste einen weiteren Eintrag am Ende der Liste hinzu, so kann man ihn nicht sehen, d.h. das Programm scrollt nicht von selbst nach unten, um den unten angefügten Eintrag sichtbar zu machen. Daran ändert sich auch dann nichts, wenn man das ListIcon-Gadget zum aktiven Gadget macht und den unten hinzugefügten Eintrag mittels
selektiert. Wie bringt man PureBasic dazu, die Liste nach unten zu scrollen, damit der letzte Eintrag sichtbar wird?
3. Wie stellt man fest, ob ein Gadget deaktiviert (disabled) ist? Weder der GetGadgetState() noch der DisableGadget() scheinen hier weiterzuhelfen. In meinem Fall muß erfragt werden, ob ein TextGadget deaktiviert ist.
4. Gibt es eine Möglichkeit, den Standardzeichensatz für ein gesamtes Fenster festzulegen, so daß man nicht unter jeden Gadget-Befehl SetGadgetFont(…) schreiben muß?
Vielen Dank
ich bin bei meinem letzten Programm auf vier Probleme gestoßen, und poste sie jetzt der Einfachheit halber mal zusammen, anstatt drei Themen daraus zu machen. Falls das nicht zulässig sein sollte, bitte ich um eine entsprechende Info.
1. Ich habe im Hauptfenster einen Gruppe von 8 OptionGadgets, bei der erfragt werden soll, welche der 8 Optionen ausgewählt ist. Gibt es einen eleganteren Weg, die aktivierte Option zu ermitteln, als über eine If-Kaskade wie
Code: Alles auswählen
If GetGadgetState(#Op_1)=1
…
ElseIf GetGadgetState(#Op_2)=1
…
.
.
.
ElseIf GetGadgetState(#Op_7)=1
…
Else
…
EndIfCode: Alles auswählen
SetGadgetItemState(#Gadget, CountGadgetItems(#Gadget)-1, #PB_ListIcon_Selected)3. Wie stellt man fest, ob ein Gadget deaktiviert (disabled) ist? Weder der GetGadgetState() noch der DisableGadget() scheinen hier weiterzuhelfen. In meinem Fall muß erfragt werden, ob ein TextGadget deaktiviert ist.
4. Gibt es eine Möglichkeit, den Standardzeichensatz für ein gesamtes Fenster festzulegen, so daß man nicht unter jeden Gadget-Befehl SetGadgetFont(…) schreiben muß?
Vielen Dank