I am using MSDN July 2001.
Just look up WM_MDICREATE at the bottom of the page you have links to an over-view and all important functions/messages.


Basically you:
- Create any frame window but call MdiFrameProc for default processing.
- Create a child MDIClient as you have seen. sub-class it or use it as is. (It is a global class registered by Window/Wine)
- Create all MDIChild frames by doing an WM_MDICREATE on the MDIClient .Call MDIChildProc for default processing.
- Menu Creation/handling differs
- other stuff all taken care by MFC or WTL


Free Life
Boaz


Shachar Shemesh wrote:


Shachar Shemesh wrote:

Hi all,

I am trying to make an application work under wine. The app is probably an MFC app, that defenitely uses MDI. The problem boils down to this - it tries to create an MDI window by doing SendMessageA to a message of type "WM_MDICREATE". Here's the catch - the class it wants to use is in Unicode. This fails for obvious reasons.

I'm trying to find my way around the MDI setting, and phrase a regression test. However, I cannot seem to create the exact same circumstances. When looking at the original app using Spy++, I see that the application has a window from the very start of the app (long before it sends WM_MDICREATE), which does not appear to have WS_EX_MDICHILD set, but which has a child window of class "MDIClient".

Running the same app in Wine using --debugmsg +win,+class, I can see that it asks to open a window of class "mdiclient". I do not, however, see anywhere that such a class was ever registered! Furthermore - the call succeeds.

Can anyone enlighten me? Is this window necessary whenever an MDI is present? If so, what function do I use on the parent window to tell it that it is to be an MDI container?

Many thanks,

Shachar


Hi all,

I THINK I found the answer. I need to create a child window with the "MDICLIENT" class, and pass it a CreateClientStruct. I'm not sure what I need to put in the struct, but I'll guess I'll figure it out as I go along.

Now the question - is there a decent tutorial that does not require me to dig through MFC and Wine sources, just so that I find how to do 100% standard and supposedly documented things? Why can't I find it in MSDN?

Shachar





Reply via email to