'''' This code is part of Document Solutions for Imaging demos.'' Copyright (c) MESCIUS inc. All rights reserved.''ImportsSystem.DrawingImportsSystem.IOImportsGrapeCity.Documents.DrawingImportsGrapeCity.Documents.TextImportsGrapeCity.Documents.ImagingImportsGrapeCity.Documents.Layout.CompositionImports GCTEXT = GrapeCity.Documents.Text '' This example shows how to draw a simple empty table,'' using the GrapeCity.Documents.Layout.Composition.Surface and'' GrapeCity.Documents.Drawing.TableRenderer classes.'' This example highlights the main elements of the table layout'' that can be created using the TableRenderer class.PublicClassEmptyTablePublicFunctionGenerateImage(ByVal pixelSize AsSize,ByVal dpi AsSingle,ByVal opaque AsBoolean,OptionalByVal sampleParams AsString() = Nothing) AsGcBitmap Dim bmp = NewGcBitmap(pixelSize.Width, pixelSize.Height, opaque, dpi, dpi)Using g = bmp.CreateGraphics(Color.White)DrawTable(g, pixelSize.Width, pixelSize.Height)EndUsingReturn bmpEndFunction PrivateSharedReadOnlyFormatDescAsTextFormat = NewTextFormat() With { .Font = GCTEXT.Font.FromFile(Path.Combine("Resources", "Fonts", "FreeSans.ttf")), .FontSize = 24, .FontSizeInGraphicUnits = True, .ForeColor = Color.White } PrivateSharedSubDrawTable(g AsGcGraphics, pageWidth AsSingle, pageHeight AsSingle)Dim surf = NewSurface()Dim view = surf.CreateView(pageWidth, pageHeight) '' Fill the page with Gray color. view.CreateVisual(Sub(gr AsGcGraphics, vis AsVisual) gr.FillRectangle(vis.AsRectF(), Color.Gray)EndSub).LayoutRect.AnchorExact(Nothing) Dim vTable = view.CreateVisual()Dim tableRect = vTable.LayoutRect tableRect.AnchorTopLeftRight(Nothing, 36, 36, 36) '' The paddingAll parameter adds padding to the table grid relative to the table rectangle.Dim ta = NewTableRenderer(g, tableRect, FixedTableSides.TopLeftRight, rowCount:=3, columnCount:=3, gridLineColor:=Color.Yellow, gridLineWidth:=5, rowMinHeight:=100, paddingAll:=40) Dim columns = ta.ColumnRects columns(0).SetStarWidth(1) columns(1).SetWidth(100) columns(2).SetStarWidth(3) ta.TableFrameStyle = NewFrameStyle() With { .LinePaddingAll = 20, .LineColor = Color.SlateBlue, .FillColor = Color.LightGreen, .LineWidth = 10F } ta.ApplyCellConstraints() vTable.Draw = Sub(gr AsGcGraphics, vis AsVisual)Dim rc = vis.AsRectF() gr.FillRectangle(rc, Color.White) Dim tl = gr.CreateTextLayout() tl.AppendLine("Table rectangle (tableRect) is White,", FormatDesc) tl.AppendLine("Padding of the table frame is 20 (TableFrameStyle.LinePaddingAll),", FormatDesc) tl.AppendLine("Frame line width is 10 (TableFrameStyle.LineWidth),", FormatDesc) tl.AppendLine("Frame line color is SlateBlue (TableFrameStyle.LineColor),", FormatDesc) tl.AppendLine("Frame area color is LightGreen (TableFrameStyle.FillColor),", FormatDesc) tl.AppendLine("Padding of the table grid is 40 (the paddingAll parameter),", FormatDesc) tl.AppendLine("Table grid line width is 5 (the gridLineWidth parameter),", FormatDesc) tl.AppendLine("Grid line color is Yellow (the gridLineColor parameter).", FormatDesc) gr.DrawTextLayout(tl, NewPointF(0, rc.Bottom + 10)) gr.Transform = vis.Layer.Surface.BaseTransform ta.Render()EndSub surf.Render(g)EndSubEndClass