Alt- oder Control-Taste, weiß ich im moment auch nicht (nutze im moment auch Linux), aber eine von beiden sollte mit STARGÅTEs-Code funktionieren. Oder den XP-Style entfernen.NicTheQuick hat geschrieben:Muss man unter Windows mittlerweile nicht die Alt-Taste gedrückt halten, damit man diese Unterstreichungen sieht?
Erstes Zeichen im ButtonGadget unterstreichen
- 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
Re: Erstes Zeichen im ButtonGadget unterstreichen
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.

Re: Erstes Zeichen im ButtonGadget unterstreichen
Es ist die Alt-Taste.ts-soft hat geschrieben:Alt- oder Control-Taste, weiß ich im moment auch nicht (nutze im moment auch Linux), aber eine von beiden sollte mit STARGÅTEs-Code funktionieren. Oder den XP-Style entfernen.NicTheQuick hat geschrieben:Muss man unter Windows mittlerweile nicht die Alt-Taste gedrückt halten, damit man diese Unterstreichungen sieht?
Bei Buttons funktioniert es auch, nur bei TextGadgets muss man es manuell aktivieren. Aufgrund der Standard-Deaktivierung (#SS_NOPREFIX) funktioniert die Darstellung eines Unterstrichs nicht. Man muss nachträglich diese Konstante entfernen, damit es wieder funktioniert.
Re: Erstes Zeichen im ButtonGadget unterstreichen
Ich bin gerade auch auf der Suche nach einer Lösung für das Problem, einen Buttontext zu unterstreichen. Ich habe dein Beispiel einmal in PureBasic 5.3 geladen. Leider wird nichts unterstrichenSTARGÅTE hat geschrieben: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.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

gibt es eine Möglichkeit dies zu realisieren? Ich stelle einen Flat Button dar.
Grüße
PB v5.43 LTS + v6.02 LTS | Windows 7 x86 + 11 x64 - Gforce RTX 4090 - AMD Ryzen 9 5900X 12-Core Processor 4.2 GHz - 64,0 GB RAM,
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE!. Kauft Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE!. Kauft Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
Re: Erstes Zeichen im ButtonGadget unterstreichen
@udg
Drücke die Alt-Taste, dann hast du eine Unterstreichung. Vorausgesetzt, es gibt kein Menü, weil das Menü eine höhere Priorität hat.
Drücke die Alt-Taste, dann hast du eine Unterstreichung. Vorausgesetzt, es gibt kein Menü, weil das Menü eine höhere Priorität hat.
- NicknameFJ
- Beiträge: 324
- Registriert: 03.06.2007 14:36
- Wohnort: Von der Sonne aus gesehen der dritte Planet
Re: Erstes Zeichen im ButtonGadget unterstreichen
Möglicherweise ist es ein Fehler des Nutzers
Ging mir auch so.
sh. hier
http://www.purebasic.fr/german/viewtopi ... 0&start=15
NicknameFJ

Ging mir auch so.
sh. hier
http://www.purebasic.fr/german/viewtopi ... 0&start=15
NicknameFJ
PS: Alle im Text enthaltenen Schreibfehler sind beabsichtigt und dienen der Belustigung aller


-
- Beiträge: 12
- Registriert: 15.02.2010 16:46
Re: Erstes Zeichen im ButtonGadget unterstreichen
Vielen Dank für die Hinweise.
Wenn man die Standard-Deaktivierung (#SS_NOPREFIX) aufhebt, lassen sich auch in Textgadgets tatsächlich Zeichen unterstreichen und mit einem Shortcut ansprechen. Das Beispiel unten lässt sich mit Sicherheit noch verbessern, aber es funktioniert.
Wenn man die Standard-Deaktivierung (#SS_NOPREFIX) aufhebt, lassen sich auch in Textgadgets tatsächlich Zeichen unterstreichen und mit einem Shortcut ansprechen. Das Beispiel unten lässt sich mit Sicherheit noch verbessern, aber es funktioniert.
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))
TextGadget(2, 10, 30, 480, 20, "T&ext2", 0)
SetWindowLongPtr_(GadgetID(2), #GWL_STYLE, GetWindowLongPtr_(GadgetID(2), #GWL_STYLE) & ~#SS_NOPREFIX)
SetGadgetText(2, GetGadgetText(2))
ButtonGadget(3,10,50,480,20,"&Auswahl 1",#PB_Button_Toggle)
ButtonGadget(4,10,80,480,20,"A&uswahl 2",#PB_Button_Toggle)
CheckBoxGadget(5,10,150,100,20," Check&Box",0)
SetWindowLongPtr_(GadgetID(5),#GWL_STYLE,GetWindowLongPtr_(GadgetID(5),#GWL_STYLE) | #BS_LEFTTEXT)
;
AddKeyboardShortcut(0, #PB_Shortcut_Control | #PB_Shortcut_T, 1)
AddKeyboardShortcut(0, #PB_Shortcut_Control | #PB_Shortcut_E, 2)
AddKeyboardShortcut(0, #PB_Shortcut_Control | #PB_Shortcut_A, 3)
AddKeyboardShortcut(0, #PB_Shortcut_Control | #PB_Shortcut_U, 4)
AddKeyboardShortcut(0, #PB_Shortcut_Control | #PB_Shortcut_B, 5)
; damit unabhängig von den Windowseinstellungen die unterstrichenen Shortcuts sofort angezeiogt werden
keybd_event_(#VK_MENU,0,0,0) ; ALT DRUECKEN
keybd_event_(#VK_MENU,0,#KEYEVENTF_KEYUP,0) ; ALT LOSLASSEN
;
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow : Break
Case #WM_KEYDOWN
Debug "KEYDOWN: " + Str(EventwParam())
Case #WM_KEYUP
Debug "KEYUP " + Str(EventwParam()) ;
Select EventwParam()
Case 65
SetGadgetState(3,0) ; button loslassen
Case 85
SetGadgetState(4,0); button loslassen
EndSelect
Case #PB_Event_Menu
Select EventMenu()
Case 1
Debug "Text"
Case 2
Debug "Text 2"
Case 3
SetGadgetState(3,1); button eindrücken
Debug "Auswahl 1"
Case 4
SetGadgetState(4,1); button eindrücken
Debug "Auswahl 2"
Case 5
If GetGadgetState(5)=#PB_Checkbox_Unchecked
SetGadgetState(5,#PB_Checkbox_Checked );
Else
SetGadgetState(5,#PB_Checkbox_Unchecked );
EndIf
Debug "Checkbox"
EndSelect
EndSelect
ForEver
EndIf
;
Re: Erstes Zeichen im ButtonGadget unterstreichen
Ich pers. unterstreiche meinen Buttontext nun einfach mit: #PB_Font_Underline 
Schnipsel
grüße

Schnipsel
Code: Alles auswählen
Btn_Nfo = ButtonGadget(#btnRemove_NFO,130,340,50,13,"Clear NFO") ; Button: Lösche Inhalt in NFO Feld
SetGadgetFont(#btnRemove_NFO, LoadFont(#Font_btnRemove_NFO, "Arial", 8, #PB_Font_HighQuality | #PB_Font_Underline)) ; Button Font
PB v5.43 LTS + v6.02 LTS | Windows 7 x86 + 11 x64 - Gforce RTX 4090 - AMD Ryzen 9 5900X 12-Core Processor 4.2 GHz - 64,0 GB RAM,
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE!. Kauft Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE!. Kauft Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
- 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
Es ging ja darum nur ein Zeichen zu unterstreichen.
Re: Erstes Zeichen im ButtonGadget unterstreichen
Stimmt.NicTheQuick hat geschrieben:Es ging ja darum nur ein Zeichen zu unterstreichen.
sorry
PB v5.43 LTS + v6.02 LTS | Windows 7 x86 + 11 x64 - Gforce RTX 4090 - AMD Ryzen 9 5900X 12-Core Processor 4.2 GHz - 64,0 GB RAM,
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE!. Kauft Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE!. Kauft Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS