The following code
Code: Select all
If OpenWindow(0, 100, 200, 195, 260, "PureBasic Window",#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget)=0:End:EndIf
If CreateGadgetList(WindowID(0))=0:End:EndIf
EditorGadget(0, 0, 0, WindowWidth(0), WindowHeight(0))
RichTextBox1.s = "{\rtf1\ansi\ansicpg1252\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fswiss Arial;}{\f3\froman\fprq2\fcharset2 Symbol;}{\f4\fswiss Arial;}{\f5\fswiss\fprq2 Arial;}{\f6\fswiss\fprq2 MS Sans Serif;}{\f7\froman\fprq2 Times New Roman;}{\f8\fswiss MS Sans Serif;}{\f9\fswiss\fprq2 System;}}{\colortbl\red0\green0\blue0;}\deflang1031\pard\plain\f5\fs18 m\plain\f3\fs20 W\plain\f2\fs17\par }"
SetGadgetText(0, RichTextBox1)
Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow
But it won't if you've set it to "Unicode"
Here is a procedure which will fix the problem:
Code: Select all
Procedure SetGadgetTextRE(gadget, Text$)
*buffer = AllocateMemory(Len(Text$)+1)
PokeS(*buffer,Text$,#PB_Any,#PB_Ascii)
txt.SETTEXTEX
txt\flags = 0
txt\codepage = #CP_ACP
SendMessage_(GadgetID(gadget), #EM_SETTEXTEX, @txt, *buffer)
FreeMemory(*buffer)
EndProcedure
SetGadgetText(0, RichTextBox1)
by
SetGadgetTextRE(0, RichTextBox1)
and all is OK.