Irgendwie stehe ich auf dem Schlauch:
Ich erstelle Textboxen im Header mit
Nun habe ich folgendes vor:
Ich möchte in der Textbox eine Tabelle haben, mit einer Zeile und einer Spalte.
Dort wäre es ein einfaches, die Textgröße abzufragen und wenn der Text nicht passt entsprechend als Hinweis rote Rahmen der Zelle rechts oder unten anzuzeigen.
Ein weiterer Grund für die Tabelle ist, dass der Benutzer nicht den gesamten enthaltenen Text markieren und löschen kann, denn damit wird auch automatisch die Textbox selbst entfernt!
In der Tabellenzelle kann er tun und lassen was er will, da kann er nichts kaputtmachen.
Ich bekomme es allerdings nicht hin, das Beispiel mit einer InputTextbox für meine Textboxen im Header umzusetzen:
procedure TForm1.Button1Click(Sender: TObject);
var
txtobj: TWPTextObj;
w, h: Integer;
begin
w := WPCentimeterToTwips(6);
h := WPCentimeterToTwips(4);
WPRichText1.TextCursor.DropMarker;
txtobj := WPRichText1.InputTextbox('', w, h, true);
WPRichText1.AddTable(1, 1, false);
WPRichText1.CPMoveBack;
WPRichText1.InputMergeField('ADR', 'Adresse' + #10 + 'xxx' + #10 +
'xxx' + #10);
WPRichText1.TableRow.ASet(WPAT_BoxMinHeight, h);
WPRichText1.TableRow.ASet(WPAT_BoxMaxHeight, h);
WPRichText1.Table.ASet(WPAT_BoxWidth, w);
WPRichText1.TextCursor.GotoMarker(true);
end;
Alles anzeigen
Ziel sind Textboxen, deren eine Tabellenzelle vom Programm gefüllt werden, die der Benutzer aber danach editieren kann.
Ciao
Stefan