Tabellen-Spalten in TextDynamic

  • Hallo Julian,

    die Methode
    Memo.TextCursor.SetColWidth 0, 40, True
    interpretiert die Zahl 40 als Twips und nicht als Prozent-Angabe.

    Ist das ein Fehler, oder mache ich was falsch ?????

    Wie kann ich ausserdem den Hintergrund einer einzelnen Spalte ändern ????

    Wie schon erwähnt, füge ich eine Tabelle mit (in VB6)
    Memo.TextCursor.InputTable
    ein.

    Memo.CurrPar.ParShading ändert die gesamte Tabelle.

    Irgendwie vermisse (oder finde es nicht) ich ein Tabellen-Objekt, wo ich diese Einstellungen (Spaltenbreite, Hintergrund...) direkt einstellen kann.

    Vielen Dank für Info's

    Helmut

  • Hallo,

    wie schon in einem anderen Thread gepostet, muss der Prozentwert mit 100 multiplitiert werden, das es passt.

    Mit Memo.TextCursor.InputTable sind wirklich nur einige Parameter an der Tabelle (ganze Tabelle) veränderbar.

    Ergo muss man die .AddTable -Methode verwenden, um (alle) Atrribute verändern zu können.

    Ich habe es damit hinbekommen, einzelne Spaltenbreiten zu setzen, den Hintergrund einzelner Spalten zu ändern.

    Momentan kämpfe ich mit den Textattributen (Fontname,Fonsize....) einzelner Spalten im WP_OnCreateNewCell Ereigniss.

    Vielleicht kann mir jemand einen Tipp geben.

    In der PDF-Datei und der Hilfe zu TextDynamic finde ich nichts, wie ich solche Attribute für einzelne Spalten setzen kann.

    Muss mich wohl wieder einige Stunden durchkämpfen.

    Grüsse

    Helmut

    • Offizieller Beitrag

    Hallo,

    >>Mit Memo.TextCursor.InputTable sind wirklich nur einige Parameter an der Tabelle (ganze Tabelle) veränderbar. <<

    Nach dem Aufruf von InputTable, InputRowStart, InputCell haben Sie vollen Zugriff auf die jeweiligen absatz propeties in "CurrPar".

    Code
    IWPMemo memo = wpdllInt1.Memo;	IWPAttrInterface atr = wpdllInt1.AttrHelper;	IWPParInterface par = memo.CurrPar;	IWPAttrInterface parattr = memo.CurrParAttr;	IWPTextCursor cursor = memo.TextCursor;	// Start a table	cursor.InputTable(0,"");	// use 50 % of the page width	par.ParASet((int)WPAT.BoxWidth_PC, 50*100);	// Now create 5 rows	for (int r = 1; r <= 5; r++)	{	   cursor.InputRowStart(0);	   // With 2 cells each, 10 and 90 % width	   cursor.InputCell(r.ToString(),"");	   par.ParASet((int)WPAT.COLWIDTH_PC, 10*100);	   par.ParColor = wpdllInt1.ColorToRGB(Color.Gray);	   parattr.IncludeStyles(1); // bold text	   // The second cell uses different text attributes	   cursor.InputCell("","");	   par.ParASet((int)WPAT.COLWIDTH_PC, 90*100);	   // Append normal text	   atr.Clear();	   par.AppendText("Normal ", atr.CharAttrIndex);	   atr.IncludeStyles(1); // bold text	   par.AppendText("and bold", atr.CharAttrIndex);	   // This row is finished	   cursor.InputRowEnd();	}	// Format and display	memo.ReformatAll(false, true);

    Momentan kämpfe ich mit den Textattributen (Fontname,Fonsize....) einzelner Spalten im WP_OnCreateNewCell Ereigniss. <<

    Das kann so gemacht werden:

    Code
    // Append normal text
    IWPAttrInterface atr = wpdllInt1.AttrHelper;
    atr.Clear();
    CellText.AppendText("Normal ", atr.CharAttrIndex);
    atr.IncludeStyles(1); // bold text
    CellText.AppendText("and bold", atr.CharAttrIndex);

    Diese neuen Beispiele werden in das manual übernommen.

    Beste Grüsse,

    J.Ziersch