To design custom grids or windows, you select grids from the GuiDesigner toolkit and lay them out in design windows. To reduce screen clutter and make it easier for you to focus on your work, only one design window is active at a time - all other design windows are hidden from view.
You can display, hide, delete, and switch between design windows whenever you want. Be sure to enter a descriptive name into the toolkit TextLine for each window when you create it.
On request, GuiDesigner will convert the active design window into:
Three lines of code to create, initialize, and display the window.
A grid function containing the code to create and operate the grid.
A callback function to receive callback messages from it.
If your program contains an existing version of the grid and/or callback functions, GuiDesigner lets you keep the function unchanged, keep the function but update the kid constants and Create subroutine, or replace it with the new one - in which case any code you added to the existing function is lost.
If CreateWindows() contains code to create, initialize, and display a previous version of the window, that code is replaced with equivalent code for the new design window.
Whenever your program calls the grid function with a CreateWindow message, a window of the specified size and position is created, containing a grid of the type you designed.
Your program can send messages like SetBorder, SetColor, SetTextString to the grid and its kids to configure and control them. When your program is finished with the window, it can send a Destroy message to the grid to destroy the window and grid.
At any time during development you can convert grid functions back into design windows and modify them interactively and graphically, the way you designed them. Or you can edit the grid functions GuiDesigner wrote for you just like any other function.
The grid functions GuiDesigner writes for you are so modular you don't even have to look at them to use them, though you're free to inspect and modify them when you want.