Erstes Zeichen im ButtonGadget unterstreichen
Erstes Zeichen im ButtonGadget unterstreichen
Hallo,
wie kann ich bei der Beschriftung eines ButtonGadgets das erste Zeichen unterstreichen? Möglichst ohne Win-API-Aufrufe.
Das ist ein üblicher Hinweis an den Nutzer, um auf die Möglichkeit einer zusätzlichen Bedienung des Programms per Tastatur hinzuweisen.
Danke für Antworten.
Rainer
wie kann ich bei der Beschriftung eines ButtonGadgets das erste Zeichen unterstreichen? Möglichst ohne Win-API-Aufrufe.
Das ist ein üblicher Hinweis an den Nutzer, um auf die Möglichkeit einer zusätzlichen Bedienung des Programms per Tastatur hinzuweisen.
Danke für Antworten.
Rainer
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Einfach mit "&" vor dem zu unterstreichenden Buchstaben
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Wenn die Fragen eindeutig sind, macht es ja auch Spaß, aber manchmal ...
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Hab nur Angst, ich könnte einen der hervorragenden API-Tipps von hallodri
verpassen
Und im moment keine Lust zu proggen, trotz Langeweile.
verpassen

Und im moment keine Lust zu proggen, trotz Langeweile.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

-
- Beiträge: 12
- Registriert: 15.02.2010 16:46
Re: Erstes Zeichen im ButtonGadget unterstreichen
Der Tipp mit einem doppelten "&&" PureBasic dazu zu bringen, ein Zeichen zu unterstreichen (so wie hier: Text)
funktioniert leider nicht mehr. Offenbar hat sich bei Windows etwas geändert, oder ist das etwa ein Bug von PureBasic?
Egal: Kennt einer eine verlässliche Methode einen Buchstaben zu unterstreichen?
Code: Alles auswählen
EnableExplicit
Define EventID
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
TextGadget(1, 10, 10, 480, 20, "&&Text", 0)
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
End
EndIf
ForEver
EndIf
Egal: Kennt einer eine verlässliche Methode einen Buchstaben zu unterstreichen?
- NicTheQuick
- Ein Admin
- Beiträge: 8808
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: Erstes Zeichen im ButtonGadget unterstreichen
Muss man unter Windows mittlerweile nicht die Alt-Taste gedrückt halten, damit man diese Unterstreichungen sieht?
Re: Erstes Zeichen im ButtonGadget unterstreichen
Es liegt daran, dass beim TextGadget standardmäßig eine Konstante (#SS_NOPREFIX) aktiviert ist, die dafür sorgt, dass kein Buchstabe mit Hilfe des Und-Zeichens unterstrichen wird.
Um diese Darstellungsfunktion wieder aktivieren zu können, musst du folgendes machen:
Ob es nur bei PB oder bei allen anderen Anwendungen so ist, weiß ich nicht. Das habe ich nicht getestet.
Um diese Darstellungsfunktion wieder aktivieren zu können, musst du folgendes machen:
Code: Alles auswählen
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
TextGadget(1, 10, 10, 480, 20, "&Text", 0)
SetWindowLongPtr_(GadgetID(1), #GWL_STYLE, GetWindowLongPtr_(GadgetID(1), #GWL_STYLE) & ~#SS_NOPREFIX)
SetGadgetText(1, GetGadgetText(1))
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
End
EndIf
ForEver
EndIf
Re: Erstes Zeichen im ButtonGadget unterstreichen
Das Textgadget hat ja auch keine Interaktionsmöglichkeiten.
Aber bei ButtonGadget oder Menüs gehts:
Im übrigen ist es nur ein &-Zeichen, ein Doppel && erzeugt ja ein normales & das nicht unterstrichen ist.
Aber bei ButtonGadget oder Menüs gehts:
Code: Alles auswählen
EnableExplicit
Define EventID
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ButtonGadget(1, 10, 10, 480, 20, "&Text", 0)
CreateMenu(1, WindowID(0))
MenuTitle("&File")
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
End
EndIf
ForEver
EndIf
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr