Seite 1 von 1

"&" in Windows Fenstern

Verfasst: 23.08.2013 01:16
von Little Progger
Hallo liebe Community!
Baue grad ein Projekt für die Schule und benutze dafür das Windows GUI und dementsprechend auch die ganzen Gadgets.
Jetzt ist mir aufgefallen, dass ich z.B. mit einem Textgadget kein "&" darstellen kann. Stattdessen wird der erste Buchstabe unterstrichen.

Nun meine Fragen:
1. Gibt es eine Möglichkeit (und davon geh ich eigentlich aus), auch ein "&" darzustellen?
2. Gibt es noch andere Möglichkeiten einen Textabschnitt z.B. fett zu schreiben, mit Hilfe solcher Zeichen? (Wär doch praktisch! ;))

danke schonmal fürs durchlesen! ;)

Re: "&" in Windows Fenstern

Verfasst: 23.08.2013 02:27
von STARGÅTE
Little Progger hat geschrieben:1. Gibt es eine Möglichkeit (und davon geh ich eigentlich aus), auch ein "&" darzustellen?
Ja, einfach && schreiben, das wird zu einem & gewandelt.
Little Progger hat geschrieben:2. Gibt es noch andere Möglichkeiten einen Textabschnitt z.B. fett zu schreiben, mit Hilfe solcher Zeichen? (Wär doch praktisch!)
Nein, weil das & kein stilistisches Mittel ist, sondern für Menü-Shortcuts gedacht ist.
Dort ist dann bei Datei und Speichern das D und S unterstrichen, um zu zeigen, dass man mit Alt, D, S speichern kann.

Re: "&" in Windows Fenstern

Verfasst: 23.08.2013 14:30
von bobobo
Um dicke Schrift in einem Gadget zu bewerkstelligen gibt es
SetGadgetfont(...)
Tip ! Loadfont(..) geht auch ohne Angabe des Fontnamens

Code: Alles auswählen

duenn=LoadFont(#PB_Any,"",12)
dick=LoadFont(#PB_Any,"",12,#PB_Font_Bold)
fenschdr=OpenWindow(#PB_Any,0,0,200,200,"mei Fenschdr..",#PB_Window_ScreenCentered)
SetGadgetFont(#PB_Default,FontID(duenn))
text1=TextGadget(#PB_Any,0,0,200,20,"degs&&&chd oins")
SetGadgetFont(#PB_Default,FontID(dick))
text2=TextGadget(#PB_Any,0,20,200,20,"degschd zwoi")
Repeat
Until WaitWindowEvent()=#PB_Event_CloseWindow
Wie bekomme ich denn ein unterstrichenes &-Zeichen hin???
&&& mag so nicht gehen

Re: "&" in Windows Fenstern

Verfasst: 23.08.2013 14:33
von NicTheQuick
Als Hinweis zwischendurch. Unter Linux wird da übrigens nichts unterstrichen, wenn man ein & davor setzt. ;) Ich weiß aber auch nicht wie das sonst geht.

Re: "&" in Windows Fenstern

Verfasst: 23.08.2013 14:37
von bobobo
Schonmal ALT gedrückt ???
Oftmals werden die Underscores erst dann angezeigt.

Re: "&" in Windows Fenstern

Verfasst: 23.08.2013 14:44
von NicTheQuick
bobobo hat geschrieben:Schonmal ALT gedrückt ???
Oftmals werden die Underscores erst dann angezeigt.
Daran liegt es nicht. Es wird einfach das & ausgegeben.

Re: "&" in Windows Fenstern

Verfasst: 23.08.2013 14:57
von bobobo
ist da wohl ne Sache des Fenstermanagers ... ich mach da 'ne Grätsche :D

Re: "&" in Windows Fenstern

Verfasst: 23.08.2013 15:45
von Little Progger
STARGÅTE hat geschrieben: Ja, einfach && schreiben, das wird zu einem & gewandelt.
Cool, danke, das hat funktioniert.
bobobo hat geschrieben:Um dicke Schrift in einem Gadget zu bewerkstelligen gibt es
SetGadgetfont(...)
Hm, ok das ist klar. Aber wenn ich z.B. in einem ganzen Textblock einzelne Wörter dick haben will, geht das doch irgendwie schlecht, weil ich die Koordinaten des Worts nicht herausfinden kann, da es ja z.B. durch nen Zeilenumbruch auch in Y Richtung verschoben wird. (Ich hoffe ihr versteht was ich meine.)
Letztendlich muss man da dann selbst ewig ne Prozedur schreiben, die dann die wörter an der Stelle die man haben will fett macht, wenns die Möglichkeit mit den Sonderzeichen nicht gibt, oder gibts da was einfaches?

Re: "&" in Windows Fenstern

Verfasst: 23.08.2013 16:04
von NicTheQuick
Du kannst ein Editorgadget nehmen und das dann auf Read-Only stellen. Damit sollte man sowas ja machen können, obwohl ich damit selbst noch nie wirklich gearbeitet habe.

Re: "&" in Windows Fenstern

Verfasst: 23.08.2013 16:18
von Kiffi
Achtung! Spatzenkanone! :mrgreen:

Code: Alles auswählen

Procedure TextGadgetEx(Gadget, x, y, Width, Height, Text.s, Flags = 0)
  WebGadget(Gadget, x, y, Width, Height, "")
  SetGadgetItemText(Gadget, #PB_Web_HtmlCode, "<html><body style='margin:0;padding:0;background-color:#F0F0F0' scroll='no' onselectstart='return false'>" + Text + "</body></html>")
EndProcedure

If OpenWindow(0, 0, 0, 270, 160, "TextGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  TextGadgetEx(0, 10,  10, 250, 20, "TextGadget <b>bold</b>")
  TextGadgetEx(1, 10,  40, 250, 20, "TextGadget <u>underlined</u>")
  TextGadgetEx(2, 10,  70, 250, 20, "TextGadget <i>italic</i>")
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Grüße ... Kiffi