Aktuelle Zeit: 25.05.2018 22:51

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: RichEdit mit table
BeitragVerfasst: 24.04.2018 10:07 
Offline
Benutzeravatar

Registriert: 19.02.2010 20:19
Wohnort: Darmstadt
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

_________________
Win-7, PB 5.31 (Windows - x86)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: RichEdit mit table
BeitragVerfasst: 24.04.2018 10:51 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
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:
;-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

; *****************************************************************************

_________________
Alles ist möglich, fragt sich nur wie...
Projekte EventDesigner v1.x / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: RichEdit mit table
BeitragVerfasst: 24.04.2018 12:27 
Offline
Benutzeravatar

Registriert: 19.02.2010 20:19
Wohnort: Darmstadt
Danke mk-soft
Ich werde es ausprobieren

_________________
Win-7, PB 5.31 (Windows - x86)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: RichEdit mit table
BeitragVerfasst: 25.04.2018 08:45 
Offline
Benutzeravatar

Registriert: 19.02.2010 20:19
Wohnort: Darmstadt
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

_________________
Win-7, PB 5.31 (Windows - x86)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 6 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye