Using the {Col} and {Row} Commands
Description
In addition to the rather terse '|' column delimiter and ';' row delimiter, there is an alternate way to specify rows and columns which is similar to syntax used for tables in HTML documents. The {Col} {Endcol} command pair can be used to specify the start and end of a column, and the {Row} {Endrow} command pair can be used to specify the start and end of a row. Like the {Region} {Endregion} command, you can use an optional numeric digit with the command to help you keep track of which {Endcol} command belongs to which {Col} command, and which {Endrow} command belongs to which {Row} command. For example, {Col1} {Endcol1}. The {Col} {Endcol} and {Row} {Endrow} commands have the following rules:
{Col} can be contained inside {Row}, and {Row} can be contained inside {Col}.
{Col} cannot be contained directly in another {Col} - you need to use the {Region} command to sub-divide a column.
{Row} cannot be contained directly in another {Row} - you need to use the {Region} command to sub-divide a row.
{Region} can be used to sub-divide a cell into multiple rows and columns.
When inside any level of {Row} or {Col}, the " ;|)( " characters are treated as text (so you can include them in a paragraph of text).
For example, the following script has multiple columns and rows:
ui_dlg_box("Title",<<%dlg% {region} {row1} {col1}First Name:{endcol1} {col2} [.20fname]{endcol2} {endrow1} {row2} {col1}Last Name:{endcol1} {col2} [.20lname]{endcol2} {endrow2} {endregion} {lf}; {row3} {col1}<15OK> <15Cancel>{endcol1} {endrow3} %dlg%)
Lesson 3: Using the {ROW} and {COL} Commands:
This script is the same as:
ui_dlg_box("Title",<<%dlg% {region} First Name:| [.20fname]; Last Name:| [.20lname]; {endregion} {lf}; <15OK> <15Cancel> %dlg%)
The syntax using the '|' and ';' directives is perhaps more cryptic, but is certainly briefer. We tend to use this briefer syntax in the examples in this tutorial.
Advanced Example Using the {Row} and {Col} Commands
Here is another considerably more complex example of using the {row} and {col} commands. This example sub-divides several of the cells into sub-tables. For example, row 1, column 3 is sub-divided into a grid with 2 rows and 2 columns.
ui_dlg_box("",<<%dlg% {region1} {row1} {col1}{frame=1,1}{region2}R1C1{endregion2} {endcol1} {col2}{frame=1,1}{region1}R1C2{endregion1} {endcol2} {col3}{frame=1,1}{region1}{row1} {col1}R1C3\(r1c1) {endcol1} {col2}R1C3\(r1c2) {endcol2} {endrow1} {row2} {col1}R1C3\(r2c1) {endcol1} {col2}R1C3\(r2c2) {endcol2} {endrow2}{endregion1} {region2}{endregion2} {endcol3} {col}{region}{endregion} {endcol} {endrow} {row} {col}{frame=1,1}{region}R2c1{endregion} {endcol} {col}{frame=1,1}{region}R2c2{endregion} {endcol} {col}{frame=1,1}{region}R2c3{endregion} {endcol} {endrow} {row} {col}{frame=1,1}{region}R3C1{endregion} {endcol} {col}{frame=1,1}{region}{row} {col}R3C2\(r1c1) {endcol} {col}R3C2\(r1c2) {endcol} {endrow} {row} {col}R3C2\(r2c1) {endcol} {col}R3C2\(r2c2) {endcol} {endrow} {row} {col}R3C2\(r3c1) {endcol} {col}R3C2\(r3c2) {endcol} {endrow}{endregion} {endcol} {col}{frame=1,1}{region}R3C3{endregion} {endcol} {col}{region}{endregion} {endcol} {endrow} {row} {col} {frame=1,1}{region}{row} {col}R4C1\(r1c1) {endcol} {col}R4C1\(r1c2) {endcol} {endrow} {row} {col}R4C2\(r2c1) {endcol} {col}R4C2\(r2c2) {endcol} {endrow}{endregion} {endcol} {col}{frame=1,1}{region}R4c2{endregion} {endcol} {col}{frame=1,1}{region}R4c3{endregion} {endcol} {endrow} {row} {col}{region}{endregion} {endcol} {endrow} {endregion1}; {region2} {row} {col1}{region}{wrap=40}R5c1This cell contains a lot of text. How does it look? Does it continue into column 2 of the row above it?{endregion} {endcol1} {col2}{region}R5c2{endregion} {endcol2} {endrow} {endregion2} %dlg%)
Lesson 3: Advanced Example Using the {ROW} and {COL} Commands. This script produces this dialog:
Limitations
Desktop applications only
See Also