mit der Funktion RTF_Switch_Editor kann man den Editor umschalten:
a) RTF-Mode: Man kann alle Formate hineinkopieren (Fett, Farben, etc...)
b) Plain-Mode: Im Text, der einkopiert wird, werden sofort alle Formate entfernt.
Viel Spaß beim Nutzen!
Code: Alles auswählen
Procedure RTF_Switch_Editor ( i_Gadget.l, i_flg_RTF.i )
;/ ------------------------------------------------------
;/ Switches the editor gadget between RTF mode and plain mode
;/ by Hyper
;/ ------------------------------------------------------
Protected l_Text.s
If Not IsGadget( i_Gadget ) ; Check validity gadget
ProcedureReturn
EndIf
l_Text = GetGadgetText( i_Gadget ) ; Store the text
SetGadgetText( i_Gadget , "" ) ; Clear gadget
If i_flg_RTF ; Switch to RTF mode
SendMessage_( GadgetID(i_Gadget), #EM_SETTEXTMODE, #TM_RICHTEXT, 0)
Else ; Switch to plain mode
SendMessage_( GadgetID(i_Gadget), #EM_SETTEXTMODE, #TM_PLAINTEXT, 0)
EndIf
SetGadgetText( i_Gadget , l_Text ) ; ReStore the text
EndProcedure
; Test program: Try to copy text with formats and use the button :-)
If OpenWindow(0, 0, 0, 322, 250, "EditorGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
Define l_Event_ID.i
EditorGadget(0, 8, 8, 306, 133)
ButtonGadget(1, 8, 150, 80, 20, "RTF", #PB_Button_Toggle )
Repeat
l_Event_ID = WaitWindowEvent()
If l_Event_ID = #PB_Event_Gadget And EventGadget() = 1
If GetGadgetState( 1 )
RTF_Switch_Editor ( 0, #True) ; RTF ON
Else
RTF_Switch_Editor ( 0, #False) ; RTF OFF
EndIf
EndIf
Until l_Event_ID = #PB_Event_CloseWindow
EndIf