Keyboard accelerators seem to be working as well and menu items are enabling and disabling at the right times. It seems you can't just set menu enablement anywhere you want but only inside of handling WM_INITMENUPOPUP. I'm not quite sure what the implications of enabling toolbar buttons would be but I'm not going to bother with a toolbar in Map 2.0 so I'll worry about that in the future.
So basically the actual map block editing part is finished now and as functional as the Builder version of Map. The next thing to add is the Item editing functionality.
This is going to involve learning how to do:
Check boxes - should be okay
Combo boxes - not too worried but suspect lots of ugly code
List views - I remember reading about these before and am very scared
The other thing I have no idea how to solve is the property editing. In the Builder version I just used a TStringGrid, which did all the work for me. I suspect I'm going to just have an text edit control and dump the properties in that like:
and so on and just have the user edit that, then re-parse the text and reassign it to the item properties. The only way I can think to make it like the Builder version would be to custom draw a panel with DrawEdge and place dynamic edit controls without borders on a form, but then I'll have to implement the scrolling as well. We shall see.
I really should learn Windows Forms. I reckon I'm going to have a look at the Managed C++ version rather than C#.