Seite 1 von 2
Erstes Zeichen im ButtonGadget unterstreichen
Verfasst: 27.12.2005 21:18
von ullmann
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
Verfasst: 27.12.2005 21:30
von ts-soft
Einfach mit "&" vor dem zu unterstreichenden Buchstaben
Verfasst: 27.12.2005 21:47
von ullmann
Danke, klappt.
TS-Soft, du scheinst recht oft und vielen zu helfen. Finde ich super, ich hoffe, du behältst das bei.
Rainer
Verfasst: 27.12.2005 21:53
von ts-soft
Wenn die Fragen eindeutig sind, macht es ja auch Spaß, aber manchmal ...
Verfasst: 27.12.2005 21:55
von edel
Jop , man koennte meinen ts-soft wohnt hier.

Verfasst: 27.12.2005 21:59
von ts-soft
Hab nur Angst, ich könnte einen der hervorragenden API-Tipps von hallodri
verpassen
Und im moment keine Lust zu proggen, trotz Langeweile.
Re: Erstes Zeichen im ButtonGadget unterstreichen
Verfasst: 01.06.2015 14:47
von friedelinde
Der Tipp mit einem doppelten "&&" PureBasic dazu zu bringen, ein Zeichen zu unterstreichen (so wie hier:
Text)
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
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?
Re: Erstes Zeichen im ButtonGadget unterstreichen
Verfasst: 01.06.2015 15:06
von NicTheQuick
Muss man unter Windows mittlerweile nicht die Alt-Taste gedrückt halten, damit man diese Unterstreichungen sieht?
Re: Erstes Zeichen im ButtonGadget unterstreichen
Verfasst: 01.06.2015 15:26
von RSBasic
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:
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
Ob es nur bei PB oder bei allen anderen Anwendungen so ist, weiß ich nicht. Das habe ich nicht getestet.
Re: Erstes Zeichen im ButtonGadget unterstreichen
Verfasst: 01.06.2015 15:28
von STARGÅTE
Das Textgadget hat ja auch keine Interaktionsmöglichkeiten.
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
Im übrigen ist es nur ein &-Zeichen, ein Doppel && erzeugt ja ein normales & das nicht unterstrichen ist.