• Hallo,

    Ich habe die Herausforderung, in einer Applikation zwei Editierbereiche zu schaffen.
    Grundlegend soll der Anwender seine Texte in der Textverarbeitung (WPTools) schreiben und die Texte werden mit Inhalten aus der Datenbank (MailMerge Felder) ergänzt. Diese Felder sollen nicht editierbar sein.
    Nun soll der Anwender den Modus umschalten können und nicht mehr den Text editieren sondern die Feldinhalte. Ähnlich dem Beispiel EditFields.

    Folgende Probleme konnte ich bisher nicht in den Griff bekommen:
    > Editiere ich den Text, kann der Anwender immer noch die Feldtexte (in den roten Klammern) überschreiben. Dies führt zu Verwirrungen.
    > Schalte ich in den Feldeditiermodus, dann kann ich zwischen den Feldern springen. Jedoch ist die Manipulation des Textes rundherum leicht möglich (Beispiel: Tripleklick und Löschen, STRG+A und löschen etc.) - Was der Anwender tun kann (aber nicht sollte), das tut er.
    > Ich schaffe es nicht, den Feldern einen hübschen Rahmen zu verpassen (Frame scheint nicht zu greifen)

    Schönen Dank für Eure Antworten.
    Michael

    • Offizieller Beitrag

    Hallo!

    Zitat

    > Editiere ich den Text, kann der Anwender immer noch die Feldtexte (in den roten Klammern) überschreiben. Dies führt zu Verwirrungen.

    In property ProtectedProp kann man die Flags für InsertPoints und AutomaticText aktivieren

    Zitat

    > Schalte ich in den Feldeditiermodus, dann kann ich zwischen den Feldern springen. Jedoch ist die Manipulation des Textes rundherum leicht möglich (Beispiel: Tripleklick und Löschen, STRG+A und löschen etc.) - Was der Anwender tun kann (aber nicht sollte), das tut er.

    ich denke InsertPoints in ProtectedProp würde auch hier helfen da die Felder nicht mehr löschbar sind.

    Zitat

    > Ich schaffe es nicht, den Feldern einen hübschen Rahmen zu verpassen (Frame scheint nicht zu greifen)

    Das kann leider auch nicht gehen da die Felder keine Objekte sondern einfach normaler Text sind.

    Man kann sich helfen mit tabellen, bis zu einem gewissen grad.

    Beste Grüsse,
    Julian Ziersch

  • Danke für die Rückmeldung,

    es haben sich jedoch noch ein paar Fragen ergeben:

    1.
    Wenn ich ein EditField schützen möchte, dann setze ich ProtectedProp vom Editor auf [ppProtected,ppIsInsertpoint,ppIsMergedText]. Klicke ich nun in eines der Felder, dann kann ich diese nicht mehr ändern.
    > Wenn ich jedoch ein paar Tasten drücke, dann springt der Cursor weiter bis er irgendwas aus dem Feld "fällt"
    > Wenn ich einen Text markiere, dann kann ich ihn mit DEL löschen
    > Wenn ich einen Text markiere, dann kann ich ihn mit STRG+X löschen
    Wie schütze ich ein Feld effizient gegen jegliche Art der Veränderung (auch ohne Cursorbewegungen beim versuchten Schreiben?

    2.
    Kann ich einzelne Textfelder mit anderen CodeOpeningText und CodeClosingText versehen? Ich möchte änderbare Felder und reine Merge Felder visuell (ohne den Hintergrund zu ändern) voneinander trennen.

    3.
    Kann ich den Editor so einstellen, dass die Zeichen mit ClearType gerendert werden. Es ergeben sich beim Schreiben und beim Editieren der Felder immer unschöne Effekte, in denen die Zeichen beim Schreiben "springen" und auch vorherige Zeichen abgeschnitten werden. Kann die GDI+ Bibliothek verwendet werden?
    [Blockierte Grafik: http://www.msse.at/images/temp/screenshots.png]


    Danke und schöne Grüße
    Michael

    • Offizieller Beitrag

    Hallo,

    ich bin gerade am verreisen - für 2 wochen.

    Aber hier eine kurze Antwort:

    1)

    > Wenn ich jedoch ein paar Tasten drücke, dann springt der Cursor weiter bis er irgendwas aus dem Feld "fällt"

    Das ist normal - cursor bewegt sich einen schritt weiter

    > Wenn ich einen Text markiere, dann kann ich ihn mit DEL löschen

    Das liegt am nicht gesetzen ppSelectedTextToo

    > Wenn ich einen Text markiere, dann kann ich ihn mit STRG+X löschen

    S.o.

    2)
    >Kann ich einzelne Textfelder mit anderen CodeOpeningText und >CodeClosingText versehen

    Nicht über die Property. Grundsätzlich sind diese ab objete der Klasse TWPTextObj und können über das Ereignis OnGetTextObjTextEx event gezeichent werdem Siehe auch die Bookmark Demo

    3)
    >>Kann ich den Editor so einstellen, dass die Zeichen mit ClearType gerendert werden. Es ergeben sich beim Schreiben und beim Editieren der Felder immer unschöne Effekte, in denen die Zeichen beim Schreiben "springen" und auch vorherige Zeichen abgeschnitten werden. Kann die GDI+ Bibliothek verwendet werden? <<

    Die Darstellung ist für guten Druck optimiert.

    Siehe im Manual WYSIWYG:
    http://www.wpcubed.com/manuals/wp5man/wysiwyg.htm

    Viele Grüsse,
    Julian Ziersch