Gesperrter Header aber Textobjekte darin bearbeitbar

  • Hallo,

    ich habe mit

    Code
    procedure TTextForm.WPRichText1LeaveRTFDataBlock(Sender: TObject;
      FromBlock, ToBlock: TWPRTFDataBlock; var Allowed: Boolean);
    begin
      Allowed := ToBlock.Kind <> wpIsHeader;
    end;

    das Tippen im Header verboten.

    Nun aber gibt es im Header auch Textobjekte die teilweise bearbeitbar sein sollen, eingefügt werden sie im OnGetSpecialText

    Gibt es einen Weg die Bearbeitung darin zu erlauben, das Tippen im Header (da erscheinen ja oben die beiden gepunkteten Linien) aber zu unterbinden?

    Ciao

    Stefan

    • Offizieller Beitrag

    Beim ersten klick auf eine Textbox wird diese markiert, dafür entsteht eine Selektion im Header, wenn die Textbox dort verankert ist. Das ist auch sInnvoll, da die Textbox ja dem Header "gehört".

    Ein zweiter klick wechselt dann direkt in die Textbox.

    Wenn Sie diese Verhalten abändern wollen dann tut es diese event handler im event TextObjectMouseDown:

  • Der genannte Event wird aber nur gefeuert, wenn ich im LeaveRTFDataBlock die Allowed-Sperre rausnehme.

    Das aber wieder führt dazu, dass beim ersten Klick in den Header die beiden Punktzeilen erscheinen und der Cursor da oben steht und der Nutzer da irgendwelchen Text hintippen kann!

    Ciao

    Stefan

  • Hallo,

    nach unendlichen Versuchen habe ich eine Lösung:

    im

    Code
    procedure TTextForm.WPRichText1TextObjectMouseUp(Sender: TWPCustomRtfEdit;
      pobj: TWPTextObj; obj: TWPObject; Button: TMouseButton; Shift: TShiftState;
      X, Y: Integer);
    begin
      obj.Edit;
    end;

    stellt sich der Cursor zwar immer noch kurz oben zwischen die beiden gepunkteten Headerzeilen, aber im Mouseup dann ist die Textbox unter der Maus editierbar...

    Dafür muss dann das Allowed := false im LeaveRTFDataBlock wieder weg.

    Ciao

    Stefan

  • Hallo,

    ich möchte hier noch einmal nachfragen:

    Ich habe mehrere Textboxen im Header eines Dokuments, in welchen auch geändert werden darf.

    Klickt der Benutzer aber irgendwo in den Headerbereich, erscheint der blau gepunktete Kasten mit blinkendem Cursor.

    Gas ist noch etwas unschön, ich habe aber keine Option in WPTools 9 gefunden, dies zu unterbinden...

    Ciao

    Stefan

    • Offizieller Beitrag

    Hallo,

    um in dieser Anwendung noch besser gerecht zu werden wurden folgende Optionen eingebaut:

    + ViewOptionsEx2: wpNoBlueRectsAroundHeaderFooterWhileEditing

    + ViewOptionsEx2: wpNoBlueRectsAroundTextboxWhileEditing

    + ViewOptionsEx2: wpPaintSymbolTextObjectsUsingD2D (for Emoji)

    + EditOptionsEx2: wpDontEnterHeaderOnClick

    + EditOptionsEx2: wpDontEnterFooterOnClick

  • Ganz hervorragend, vielen herzlichen Dank :-)))

    Nur dabei habe ich ein Problem:

    Ich habe eben nochmal die aktuellste Version geladen : 9.1.016, nur kennt die nur

    ViewOptions und ViewOptionsEx, aber keine ViewOptionsEx2!

    EditOptionsEx2 gibt es ebenfalls nicht :-(

    Ciao

    Stefan

    2 Mal editiert, zuletzt von skoschke (29. Oktober 2019 um 08:36)