The non-modal window error problem surprisingly turned out not to be a bug at all! I set up a small test program with three windows, and they each seem to slide in front of each other properly. So in Behold, I set all the windows back to be normal windows, and using the function keys to switch between them works properly. It was when I clicked on the icon on the main Window that the other windows got hidden. But of course, I said to myself. Clicking on the icon brings the main window to the front, hiding the other windows. Then the icon brings the desired window to the front. It was the activation of the main window that hid the other windows, not a bug. This may not be what I hoped would happen, but it is what Windows does.
The transparent Name Index window was a tricky bug to find. I created a new second treeview in the same window. That treeview was not transparent. So I compared all the properties of the two treeviews and made them all the same. Still, one was transparent and one was not. So then I deleted the new treeview, and took the original treeview and duplicated it exactly. The second treeview in the window was again fine (not transparent). I then deleted the original, and now the one left (the second one) became transparent again. This led to the realization that the bug must be in the initialization of that window. So I commented out the initialization, and yes! No transparency. Now it was a simple matter of isolating the problem. It ended up being trivial. The “end update” statement matching a “begin update” statement was nested incorrectly and was never executed. Moved it down outside the current block and all is fixed.
So now all the issues from December 7th are fixed. I like this Blog. I can now see back to what was the previous thing on my “stack” to handle. It looks like I can now go back to Nov 17 when I finished my GEDCOM data structure conversion. I’ve now fixed all the known bugs related to that. It will be worthwhile now to print out my code for my Organize and User Interface units and go over them by eye to see if there’s anything that doesn’t look right related to the conversion.