This message can be used to change the size of the grid squares after a grid has been created.
The only fields in the GRIDINFO structure that can be set by the application are the cb, cxGrid, cyGrid, and pGrid fields. If the cxGrid and cyGrid fields are nonzero and the pGrid field is NULL, the container creates a grid with grid squares of width cxGrid and height cyGrid.
If cxGrid and cyGrid are zero, the container will create default size grid squares. It is not necessary to send this message to create default size grid squares, because they will be created the first time an arrange with the CM_ARRANGEGRID option is performed.
The application can completely control the placement of icons by marking the squares it wants occupied and then sending the CM_ARRANGE message with mp1 equal to CMA_ARRANGEGRID and mp2 equal to CMA_USER. Here is how the application uses CM_SETGRIDINFO to mark the squares:
Marking of grid squares is used only when the arrangement pattern is CMA_USER and has no effect on the placement of icons when any other pattern is specified.