import dfl; version(Have_dfl) // For DUB. { } else { pragma(lib, "dfl.lib"); } class MainForm : Form { alias CustomTableRenderer = TableRenderer!(string, int, int); CustomTableRenderer _table; public this() { this.text = "TableRenderer example"; this.size = Size(450, 450); string csv = "教科,大森,山田\n" ~ "国語,95,98\n" ~ "理科,75,80\n" ~ "算数,90,78\n" ~ "社会,80,76\n"; _table = new CustomTableRenderer(csv); _table.height = 40; _table.width[] = 80; _table.paddingX = 10; _table.paddingY = 12; _table.location = Point(20, 20); _table.hasHeader = true; // true : 1st line is header. _table.showHeader = true; _table.firstRecord = 0; _table.lastRecord = 3; _table.textColor = Color.black; _table.backColor = Color.white; _table.lineColor = Color.lightGray; _table.headerLine = true; _table.topSideLine = true; _table.leftSideLine = true; _table.bottomSideLine = true; _table.rightSideLine = true; _table.verticalLine = true; _table.horizontalLine = true; _table.headerFont = new Font("MS Gothic", 16f, FontStyle.BOLD); _table.recordFont = new Font("MS Gothic", 12f, FontStyle.REGULAR); } protected override void onPaint(PaintEventArgs e) { if (_table) _table.draw(e.graphics); } } static this() { Application.enableVisualStyles(); } void main() { Application.run(new MainForm()); }