MDI windows, MDIClient and mdiclient

Shachar Shemesh wine-devel at shemesh.biz
Sun Oct 19 09:55:50 CDT 2003


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

-- 
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/





More information about the wine-devel mailing list