You can use a LineupBox to organize DisplayBoxes in a grid where columns all have the same width. This would be instead of using V and H List Boxes as shown below.
win = New Window( "Customer Service Scorecard",
Text Box(
"Customer Service Scorecard",
<<setFontSize( 16 ),
<<SetFontStyle( "Bold" ),
<<setWrap( 800 ),
<<SetWidth( 600 ),
<<JustifyText( "center" )
),
Text Box( "September 2017", <<setFontSize( 14 ), <<SetFontStyle( "Bold" ), <<setWrap( 800 ), <<SetWidth( 600 ), <<JustifyText( "center" ) ),
Text Box( " " ),
Lineup Box( N Col( 2 ),
Outline Box( "Customer Satisfaction",
Text Box( " " ),
Text Box( "97%", <<setFontSize( 40 ), <<SetFontStyle( "Bold" ), <<SetWidth( 300 ), <<JustifyText( "center" ) ),
Text Box( "of customers are satisfied", <<setFontSize( 9 ), <<SetWidth( 300 ), <<JustifyText( "center" ) )
),
dt1 << GraphBuilder(
Size( 300, 200 ),
ShowControlPanel( 0 ),
ShowLegend( 0 ),
Variables( X( :Channel ), Y( :Pct of Customers ) ),
Elements( Bar( X, Y, Legend( 6 ) ) ),
SendToReport(
Dispatch( {}, "Graph Builder", OutlineBox, {Set Title( "Preferred Channels" )} ),
Dispatch( {}, "Channel", ScaleBox, {Labe Row( LabelOrientation( "Angled" ) )} ),
Dispatch( {}, "graph title", TextEditBox, {SetText( "" )} ),
Dispatch( {}, "400", LegendBox, {SetTitle( "" )} )
)
),
Outline Box( "Customer Compliments",
Text Box( " " ),
Text Box( "8", <<setFontSize( 40 ), <<SetFontStyle( "Bold" ), <<SetWidth( 300 ), <<JustifyText( "center" ) )
),
Outline Box( "Winning Interactions", Text Box( " ", <<SetWidth( 300 ) ), Data Table Box( dt2 ) )
)
);
Justin