Seite 1 von 1
RichEdit mit table
Verfasst: 24.04.2018 10:07
von marcelx
Hallo,
ich habe RichEdit entdeckt und finde den Beispiel RichEdit_Example.pb klasse.
Ich wollte es erweitern mit den Funktion Table einfügen.
Leider komme ich nicht weiter.
1) Beim Einfügen eine Table kommt die Daten als Text ("{\par \ ...")
2) die Button OK/Abbrechen funktionieren nicht.
Ich habe in icons Table.ico hinzugefügt
Alle Änderungen in RichEdit.pbi und RichEdit_Example.pb mit den Kommentar ADD markiert.
Die source habe ich als zip im T-Com CLOUD abgelegt.
https://www.magentacloud.de/lnk/lBATrQBs
Passwort: MmF834
Wer kann mich dabei helfen?
Danke und Gruß MarcelX
Re: RichEdit mit table
Verfasst: 24.04.2018 10:51
von mk-soft
Das problem ist Unicode, habe aber nicht weiter in Dein Code geschaut...
Das Control "Editorgadget (RichEdit)" verwendet jetzt auch Unicode.
Möchte man aber RTF Steuersequenzen verwenden, müssen diese als UTF8 zum Gadget übermittelt werden.
Das Control erkennt dieses und Interpretiert die Steuersequenzen.
SetGadgetText verwendet aber immer Unicode (PB v5.6x)
Siehe Beitrag
http://www.purebasic.fr/english/viewtop ... 30#p519943
Hilfscode v1.05
Code: Alles auswählen
;-TOP
; *****************************************************************************
; AddTextRTF by mk-soft, v1.05, 27.03.2018
CompilerIf #PB_Compiler_Version < 550
Procedure UTF8(Text.s)
Protected *mem = AllocateMemory(StringByteLength(Text, #PB_UTF8) + 1)
If *mem
PokeS(*mem, Text, -1, #PB_UTF8)
EndIf
ProcedureReturn *mem
EndProcedure
CompilerEndIf
Procedure AddTextRTF(Gadget, Text.s , NewLine=#False)
If Left(Text, 5) <> "{\rtf"
Text = "{\rtf " + Text + "}"
EndIf
If NewLine
Text = Left(Text, Len(text) - 1) + "\line}"
EndIf
CompilerIf #PB_Compiler_Unicode
Protected hEdit = GadgetID(Gadget)
Protected ndx = GetWindowTextLength_(hEdit)
Protected *szBuffer = UTF8(Text)
SendMessage_(hEdit, #EM_SETSEL, ndx, ndx)
SendMessage_(hEdit, #EM_REPLACESEL, 0, *szBuffer)
FreeMemory(*szBuffer)
CompilerElse
AddGadgetItem(Gadget, -1 , Text)
CompilerEndIf
EndProcedure
; *****************************************************************************
Re: RichEdit mit table
Verfasst: 24.04.2018 12:27
von marcelx
Danke mk-soft
Ich werde es ausprobieren
Re: RichEdit mit table
Verfasst: 25.04.2018 08:45
von marcelx
mit den Implementierung von table gebe ich auf .
Das einfügen ist eine Sache, dazu kämme die Möglichkeit den eingefügte table zu ändern, was schwieriger wäre.
Es hat trotzdem Spaß gemacht und ich habe was neues gelernt (Module, Interface).
Gruß
MarcelX