TextGadget formatieren
TextGadget formatieren
Ich habe leider weder in der Hilfe noch im Forum was gefunden um ein TextGadget zu formatieren. Ich möchte gerne Teile des Textes formatieren. Unterstreichen oder farbisch einfärben usw.
Wie stelle ich das an? Muss ich viele einzelne TextGadgets nebeneinander erstellen oder muss ich WebGadget nutzen? Ich finde WebGadget keine gute Idee. WebGadget ist eigentlich dazu da um HTML Seiten anzuzeigen aber ich möchte bloß einen Text formatiert darstellen. Außerdem macht es bei WebGadget immer *klick* und das man rechtsklicken kann finde ich auch doof weil ein Internet Explorer Menü erscheint.
Und mein Program verbraucht deswegen deutlich mehr RAM. Jaja ich weiß man hat genug RAM und RAM ist billig. Aber ich finde WebGadget als TextGadget zu missbrauchen finde ich nicht so gut. Jemand eine Idee wie ich ein TextGadget formatieren kann?
Wie stelle ich das an? Muss ich viele einzelne TextGadgets nebeneinander erstellen oder muss ich WebGadget nutzen? Ich finde WebGadget keine gute Idee. WebGadget ist eigentlich dazu da um HTML Seiten anzuzeigen aber ich möchte bloß einen Text formatiert darstellen. Außerdem macht es bei WebGadget immer *klick* und das man rechtsklicken kann finde ich auch doof weil ein Internet Explorer Menü erscheint.
Und mein Program verbraucht deswegen deutlich mehr RAM. Jaja ich weiß man hat genug RAM und RAM ist billig. Aber ich finde WebGadget als TextGadget zu missbrauchen finde ich nicht so gut. Jemand eine Idee wie ich ein TextGadget formatieren kann?
Re: TextGadget formatieren
EditorGadget() mit #PB_Editor_ReadOnly verwendet. Das unterstützt Rich Text!
PureBasic 5.73 LTE x86/x64 | Windows 7 (x64)
Re: TextGadget formatieren
Ach so wusste ich nicht dass EditorGadget Richedit unterstützt. Man muss zwar die ganzen RTF Formatierungscodes kennen
aber immerhin etwas. Gibt es hier bereits eine Liste der wichtigsten RTF Codes?
Was mich noch stört ist der Rahmen von EditorGadget und die Cursoränderung so als ob man reinschreiben könnte und es hat leider einen weißen Hintergrund.
Kann man die drei Sachen deaktivieren so dass es aussieht als ob es ein echter TextGadget ist?
aber immerhin etwas. Gibt es hier bereits eine Liste der wichtigsten RTF Codes?
Was mich noch stört ist der Rahmen von EditorGadget und die Cursoränderung so als ob man reinschreiben könnte und es hat leider einen weißen Hintergrund.
Kann man die drei Sachen deaktivieren so dass es aussieht als ob es ein echter TextGadget ist?
Re: TextGadget formatieren
Code: Alles auswählen
EnableExplicit
Define EventID
Define RTFString$
Procedure TextGadgetEx(Gadget, x, y, Width, Height, Text$, Flags = 0)
EditorGadget(Gadget, x, y, Width, Height, Flags)
DisableGadget(Gadget, 1)
SetWindowTheme_(GadgetID(Gadget), @"", @"")
SetWindowLongPtr_(GadgetID(Gadget), #GWL_EXSTYLE, 0)
SendMessage_(GadgetID(Gadget), #EM_SHOWSCROLLBAR, #SB_HORZ, #False)
SendMessage_(GadgetID(Gadget), #EM_SHOWSCROLLBAR, #SB_VERT, #False)
SetWindowPos_(GadgetID(Gadget), 0, 0, 0, 0, 0, #SWP_NOMOVE | #SWP_NOSIZE | #SWP_FRAMECHANGED)
SetGadgetColor(Gadget, #PB_Gadget_FrontColor, RGB(0, 0, 0))
SetGadgetText(Gadget, Text$)
EndProcedure
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
RTFString$ + "{\rtf1"
RTFString$ + "Hallo Welt!"
RTFString$ + "\par"
RTFString$ + "{\i Dies} ist ein "
RTFString$ + "formatierter {\b Text}."
RTFString$ + "\par"
RTFString$ + "{\colortbl;\red0\green0\blue0;\red255\green0\blue0;}"
RTFString$ + "\cf2 Farbiger Text"
RTFString$ + "}"
TextGadgetEx(1, 10, 10, WindowWidth(0)-20, 50, RTFString$)
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
End
EndIf
ForEver
EndIf
Re: TextGadget formatieren


Re: TextGadget formatieren
Bei mir funktioniert der Code nun auch, nachdem ich keine Unicode-Executables mehr erstellen lasse.
Gibt es einen Tip, wie man die Hintergrundfarbe anpassen kann?
SetGadgetColor(Gadget, #PB_Gadget_BackColor, RGB(x, x, x)) funktioniert leider nicht, wäre ja auch zu einfach gewesen.
Gibt es einen Tip, wie man die Hintergrundfarbe anpassen kann?
SetGadgetColor(Gadget, #PB_Gadget_BackColor, RGB(x, x, x)) funktioniert leider nicht, wäre ja auch zu einfach gewesen.
Re: TextGadget formatieren
Geht doch?
Code: Alles auswählen
OpenWindow(0, 0, 0, 400, 300, "EditorGadget", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
EditorGadget(0, 0, 0, 400, 300, #PB_Editor_ReadOnly)
SetGadgetColor(0,#PB_Gadget_BackColor,RGB(Random(255), Random(255), Random(255)))
AddGadgetItem(0, -1, "Hallo Welt")
Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow
Signatur und so
Re: TextGadget formatieren
Goold meint bestimmt das TextGadgetEx() von oben.Derren hat geschrieben:Geht doch?
Grüße ... Kiffi
a²+b²=mc²
Re: TextGadget formatieren
Da es sich um RTF-Formatierung handelt, musst du nach RTF-Spezifikationen suchen oder du erstellst in WordPad ein RTF-Dokument und schaust im Quellcode, wie der Code für deine gewünschte Formatierung lautet. Soweit ich weiß fängt es mit "{\background" an und in diesem Block kannst du die Farbe festlegen.
- CodeCommander
- Beiträge: 213
- Registriert: 02.03.2014 16:06
Wer lesen kann ist klar im vorteilDerren hat geschrieben:Geht doch?

Zuletzt geändert von CodeCommander am 18.01.2015 14:30, insgesamt 1-mal geändert.
~ DELETE ~