I am currently learning more in depth on how to create enriched GUI's in C using the win32 API. I am trying to avoid using any resource files, and simply create the GUI dynamically.
From what I have seen, in order to add components to the GUI dynamically, I have two options; sending a specific message to the message queue (such as a TB_ADDBUTTONS message) or using the CreateWindow() function and using a predefined control class (such as BUTTON) and setting the HWND parameter to the parents' window.
This brings me to these questions,
1. When using CreateWindow(), the win32 API only provides 9 predefined control classes. Does this mean that these 9 components are the only components available to add to your window when programming a GUI by using the win32 API?
2. When using the CreateWindow() alternative, and after setting the HWND parameter to the parents', are the 'x' and 'y' attributes limited to be within the parents' coordinates, or not? If so, what will happen when they are not within the parents' coordinates?
Extra: I have searched for a full list of all types of messages that could be sent to the message queue, but have not found it. If someone could find it, please link me to it.