Beiträge von skoschke

    Hallo,

    in einer Tabelle erzeuge ich neue Zeilen an einer gewünschten Position per Zeile.Duplicate.

    Die duplizierte Zeile kann aber gemergte Zellen haben, so dass eine Unterfunktion diese per SplitCell wieder auflöst.

    Das funktioniert bis zum Hinzufügen von ca. 100 Zeilen, dann kommt Meldung "zu wenig Arbeitsspeicher!"

    Es hat sehr lange gedauert, bis ich herausgefunden habe dass da die UnDo-Funktionalität (wpActivateUndo) die Ursache ist!

    Das WPRichtext scheint sich mit dieser aktivierten Option "bis zum allerersten Schritt zurück" alles zu merken ;-)

    Nun die Frage:

    Gibt es eine Möglichkeit, das Undo auf z.B. die letzten 10 Schritte einzuschränken?

    Ciao

    Stefan

    Hallo,

    beim Kompilieren eines Projektes (eigene Komponente mit Panel und WPRichText drauf) bekomme ich neuerdings folgende Fehlermeldung:

    [dcc32 Fehler] CSKDokument.dpk(44): E2199 Die Packages 'WPTools7_DX11' und 'WPTools8_DX11_Pack_RT' enthalten beide die Unit 'WPLngCtr'

    [dcc32 Fataler Fehler] CSKDokument.dpk(44): F2220 Package 'WPTools7_DX11' kann nicht compiliert werden

    Unter C:\Users\Public\Documents\Embarcadero\Studio\18.0\Bpl habe ich die 7er bpl gelöscht.

    In den installierten Packages im RadStudio sehe ich nur meine 8er Version!

    Wie bekomme ich das korrigiert?

    Ciao

    Stefan

    Danke,

    dann habe ich aber jetzt ein Problem:

    Ich möchte ja das WPRichtext mit Ruler in einer eigenen Komponente verpacken.

    Wird diese dann auf ein Formular gelegt und das Programm gestartet, ist die Ruleranzeige falsch.

    Im OnCreate der Komponente kann ich Setfocus nicht aufrufen, von außen komm ich dann nicht mehr ran!

    Ciao

    Stefan

    P.S.

    Habe es über einen Timer gelöst der in der Komponente einmalig SetFocus aufruft.

    Hallo,

    ich habe ein WPRichtext mit angeschlossenem WPRuler, DefaultPagesize im Objektinspektor auf wp_dinA4 gesetzt, AutoZoom := wpAutoZoomWidth;

    Das Richtext soll mit Anchors left,top,right,bottom mit dem Formular wachsen und dabei immer die volle Seitenbreite zeigen.

    Die Anzeige des Papiers im WPRichtext ist korrekt, der Ruler aber zeigt oben 15cm an.

    Das wird erst richtig mit 21cm angezeigt wenn man das Formular (und damit das Richtext) mit der Maus in der Größe verändert.

    Der Ruler wird auch richtig wenn man nur mit der Maus in das WPRichtext klickt!

    Ruler.repaint, Ruler.refresh, nichts ändert das Verhalten!

    Ciao

    Stefan

    Ich bekomme es nicht compiliert :-(

    Wo finde ich BuildAll im deutschen RadStudio?

    Rechte Maustaste auf die bpl-Datei ab hier alle erzeugen ist grau (deaktiviert) und in den Projektoptionen (ich bin über neue Komponente erzeugen, Vorfahr TPanel an das Projekt gekommen...

    Ciao

    Stefan

    Habe es gefunden:

    In den Projektoptionen des Packages war als Suchpfad C:\WPTools\DX10.1 und nicht C:\WPTools\Source eingetragen!

    Erster Versuch Panel mit einem Ruler bringt beim Erzeugen des Packages eine Meldung

    Bestätige ich das kann das Panel zwar in die Komponentenpalette installiert werden, auch ausgewählt und auf ein Form gelegt werden, aber es ist dort nicht anklickbar und veränderbar.

    Bestätige ich die obige Meldung nicht bekomme ich beim Kompilieren der Komponente eine Meldung

    Zitat

    Package TestPanel kann nicht geladen werden, es enthält die Unit "Data.Bind.Observerlinks" die auch im Package "bindcomp240" enthalten ist.

    Eine Idee dazu?

    Ciao

    Stefan

    Vielen Dank für die schnelle Hilfe!

    Der Beispielcode funktioniert...

    Ja richtig, meine Variante

    Code
    type
      TCSKWPRichText = class(TWPRichText)

    ist vielleicht wirklich der falsche Ansatz!

    Über eine eigene Komponente die ein "unverändertes" WPRichText enthält (und vielleicht anderes zusätzliches) beinhaltet und bei der ich nach außen wirklich nur das zugänglich machen kann, was gewünscht ist, ist der bessere Ansatz!

    Da habe ich ja erst mal wieder einiges zu tun...

    Ciao

    Stefan

    Hallo,

    nachdem das grundsätzliche Problem, eine Textbox zu erzeugen, gelöst ist, scheitere ich am Erzeugen mehrere in einer Schleife...

    Ich habe von TWPRichText eine eigene Komponente abgeleitet und erweitert.

    In einer Schleife, die beim Laden einer Dokumentvorlage gestartet wird, wird folgende procedure mehrfach aufgerufen:

    dabei haben z.B. drei erzeugte Textboxen mehr oder weniger zufällig den gleichen oder aber teilweise den gewünschten Inhalt, mal kann man sie anklicken, mal wird dabei der Focus auf eine andere Textbox gesetzt, irgendwo fehlt eine Aktualisierung, nur wo setzt man da an?

    Wenn ich obige Procedure "von außen" mehrfach einzeln aufrufe (über eine Methode meiner Komponenten-Ableitung), bekomme ich die Textboxen ordentlich erzeugt und angezeigt!

    Bitte um einen Denkanstoß !

    Ciao

    Stefan

    Danke für die Info's!

    Zum Hintergrund meiner Textboxen:

    Ich muss ein Dokument erstellen, welches aus vielen frei positionierbaren Texten besteht (deren Position durch eine Vorlage festgelegt ist) und das aussieht wie z.B. ein Lieferschein...

    Der hat oben Felder wo die Adresse steht, ein Firmenlogo, Auftragsnummer, Bestelldatum etc.

    Darunter kommt dann die Tabelle mit den Rechnungspositionen, die auf der ersten Seite in ca. Seitenmitte beginnt und auf den Folgeseiten dann oben auf der Seite.

    Das habe ich in MeasureTextPage über die Margins gelöst. Die Tabelle wächst wie gewünscht...

    Das mit dem Text vor der Tabelle habe ich versucht:

    Code
        CheckHasBody;
        par := Activepar;
        par := par.appendnewPar;
        par.SetText('some text');
        ActiveParagraph := par;
        Table := TableAdd(Vorlage.Tabellenkopf.AnzahlSpalten, 1, Mode, nil,
          CreateTableCellCallBackHF);

    aber im Dokument kommt erst die Tabelle und danach die Zeile mit 'some text'...

    Wenn es einen besseren Weg gibt solche Textfelder frei zu positionieren (Premium WPTools 8) dann werde ich das natürlich gern probieren!

    Ciao

    Stefan

    Zitat

    Mit CPPosition wird die Cursor position geändert, wenn Sie also ein Objekt am Anfang des Textes einfügen wollen, brauchen Sie CPPosition := 0 - was dann auch wieder nach oben scrollt.

    Vor dem Einfügen eines TWPTextObj führe ich CPPosition := 0 aus, die Textbox wird jetzt auf Seite 1 korrekt eingefügt auch wenn ich gerade auf Seite 3 bin, das Dokument scrollt aber nicht wie beschrieben nach oben, es bleibt stehen wo es gerade ist, die Scrollbar bleibt auch unverändert!

    "Was dann auch wieder nach oben scrollt" funktioniert also nicht wie erwartet!

    Ciao

    Stefan

    Nach einigem "Spielen" bin ich zu folgendem Code gekommen:

    Code
      WPRichTextArbeit.Memo.TopOffset := 0;
      WPRichTextArbeit.ReformatAll(false,true);
      WPRichTextArbeit.CPPosition := 0;
    ... und jetzt Textboxen erzeugen

    jetzt wird nach oben gescrollt und die Textbox wie gewünscht eingefügt.

    Das Dokument besteht jetzt aus einer Tabelle mit 2 Zeilen, darüber die Textbox.

    Wenn ich aber jetzt eine weiter unten auf der Seite liegende Tabelle verlängere ( neuezeile := zeile.Duplicate(false, false); )

    dann wird meine Textbox auf allen dabei entstandenen Seiten wiederholt!

    Was ist denn nun los?

    Hallo,

    ich erzeuge per Code in einer Tabelle 100 Zeilen.

    Nach dieser Operation stehe ich z.B. auf Seite 3, die letzte neue Zeile ist sichtbar.

    Der vertikale Scrollbalken aber ist immer noch ganz oben (also nicht passend zum gerade angezeigten Inhalt).

    Wie kann ich diesen auf die aktuelle Position bewegen damit Übereinstimmung besteht und nicht das Dokument beim ersten Anfassen des Scrollbalkens springt?

    Nachtrag : ich habe immer DelayedReformat benutzt, mit Reformat(false,true) ist die Scrollbar korrekt!

    Wo liegt der Unterschied zwischen beiden Reformat-Varianten?

    Zusatzfrage:

    Wenn ich nun direkt nach der Tabellenerzeugung wie im anderen Thread beschrieben ein TWPTextObj einfüge, wird es auf der aktuellen letzten Seite eingefügt.

    Ich möchte es aber auf Seite 1 haben, WPRichText1.Memo.ScrollPosition := 0 funktioniert so nicht.

    Ciao

    Stefan

    Hallo,

    mit WPTools 8 premium setze ich Textboxen auf die Seite:

    als einzigen passenden TextObjectMode habe ich aus der WPRTEDefs das wpobjSizingDisabled gefunden und zusammen mit wpobjDisableAutoSize hätte ich nun erwartet dass eine Vergrößerung des Textes durch Tippen neuer Zeilen unterbunden ist...

    Leider wird die Textbox dabei trotzdem höher, wie kann ich das unterbinden?

    Ciao

    Stefan

    Ich benötige eine eindeutige Zeilennummer in einer Tabelle im TWPRichText, welche auch erhalten bleibt wenn man z.B. vorher in der Tabelle Zeilen löscht.

    So etwas wie Tag bei den Windows-Controls habe ich nicht gefunden, gibt es eine Property des TParagraph die man verwenden könnte?

    Ich möchte ungern .Name einer Zeile dafür "vergewaltigen", den benötige ich eigentlich für andere Zwecke...

    Ciao

    Stefan