PDA

View Full Version : Link to MDI bug information?



NewsArchive
07-20-2011, 04:02 AM
Hi Friedrich,

A few weeks ago you posted a link in the Clarion 8 NG to information
about the Microsoft bug related to multiple min/max buttons when you
maximize an MDI window. Would be so kind as to repost that link here?

Thanks,
Tony

NewsArchive
07-20-2011, 04:06 AM
Did you mean this post from Friedrich?

This issue goes back to a (18+ years old) bug in Windows. You can duplicate
it in Delphi, Borland C++, old Paradox, etc. and even .NET apps.

http://groups.google.com/group/microsoft.public.dotnet.framework.windowsforms/browse_frm/thread/bdc99d9fee7a501f/d4c27f711f4a8f6b?lnk=st&q=%22mdi%22%2B%22maximize+buttons%22&rnum=2&hl=en#d4c27f711f4a8f6b

Friedrich

John Griffiths

NewsArchive
07-20-2011, 04:06 AM
> Did you mean this post from Friedrich?
>
> This issue goes back to a (18+ years old) bug in Windows. You can duplicate
> it in Delphi, Borland C++, old Paradox, etc. and even .NET apps.
>
> http://groups.google.com/group/microsoft.public.dotnet.framework.windowsforms/browse_frm/thread/bdc99d9fee7a501f/d4c27f711f4a8f6b?lnk=st&q=%22mdi%22%2B%22maximize+buttons%22&rnum=2&hl=en#d4c27f711f4a8f6b
>
It was a post from Friedrich, but I don't think that is it.

Tony

NewsArchive
07-20-2011, 04:06 AM
Hi Tony

OK, I guess he will respond tomorrow AM when he wakes up.. I seem to recall another
post by him, but could not track it down here either.

John

NewsArchive
07-20-2011, 06:36 AM
Hi Tony,

> A few weeks ago you posted a link in the Clarion 8 NG to information
> about the Microsoft bug related to multiple min/max buttons when you
> maximize an MDI window. Would be so kind as to repost that link here?

Do you mean the following?

================================================== =====================

Yes, this goes back to a (18+ years old) bug in Windows.

I already posted the following some time ago, but I think it provides
interesting information.

We sent a source code demo a few years ago to Microsoft (written in pure
Visual Studio 2005 C++ and another one in C#) that demonstrated the very
same problem.


---REPOST BEGIN---

This was a Paradox application (dated 1995):
http://groups.google.com/group/comp.databases.paradox/browse_frm/thread/398f3706c763f7fe/675b8899671ae80d?lnk=st&q=%22maximize+buttons%22%2B%22multiple%22&rnum=2&hl=en#675b8899671ae80d

And the following is also interesting (Multiple minimize and maximize
buttons appering on MDI menu control). And this is a new .NET application!

http://groups.google.com/group/microsoft.public.dotnet.framework.windowsforms/browse_frm/thread/bdc99d9fee7a501f/d4c27f711f4a8f6b?lnk=st&q=%22mdi%22%2B%22maximize+buttons%22&rnum=2&hl=en#d4c27f711f4a8f6b

Or this one (bug already found in Windows 3.1)
http://groups.google.com/group/comp.os.ms-windows.programmer.misc/browse_frm/thread/b06d815c7b958f64/2ddc51574d682f33?lnk=st&q=%22mdi%22%2B%22maximize+buttons%22&rnum=17&hl=en#2ddc51574d682f33

I have included the message here because it's interesting:

-- begin --

In my effort to program an MDI application that would begin running with
: a single document window opened and maximized, I found a bug in MDI.
: If the "style" parameter of the MDICREATESTRUCT is set to WS_MAXIMIZE,
: the result is 2 system menu boxes and 2 maximize buttons. Furthermore,
: repetitively closing the window and reopening it causes an increasing
: number of system menus and maximize buttons to appear. Finally, the
: program becomes unstable and GPFs.

: MS apparently acknowledged this problem in Windows 3.0 but claimed
: to have fixed it in 3.1. It appears to be broken again in 3.11. To
: see MS's explanation of the problem in 3.0, see Q77474 in their knowledge
: base (available on ftp.microsoft.com) To duplicate this bug in Windows,
: start with Petzold's Chap. 18 MDIDEMO program, and modify lines 186 and
: 203
: (Third edition of Petzold's book) from:
: mdicreate.style = 0;
: to:
: mdicreate.style = WS_MAXIMIZE;


: I am using Borland C/C++ 4.0, but I don't think that matters. If you
: don't mind seeing the screen flash the unmaximized window, you can follow
: MS's advise and use a style of 0, followed by a message WM_MDIMAXIMIZE
: to the MDI client. However, this is not really what I want. I have
: seen MDI apps that come up in the maximized style without first flashing
: an unmaximized window, but I can't figure out the magic to make it happen.
: Anyone got any ideas? Thanks in advance.


: John Lange
: jla...@oak.zilker.net


I had the same problem using BP 7.0 and OWL 1.0. I assumed it was my
problem and went looking. What I found was that OWL 1.0 TEditWindow
set focus (via SetFocus procedure) to it's child Edit control when it
got a WM_SETFOCUS message. It also only happened when the MDI window
was read from a stream. I "solved" the problem by using the
WM_MDIACTIVATE message to set focus to the Edit control.

-- end --


Or this in a Delphi application!!!!

http://groups.google.com/group/borland.public.delphi.non-technical/browse_frm/thread/ea8740b9e47e2ff8/7a8dcb9d5b50b501?lnk=st&q=%22mdi%22%2B%22maximize+buttons%22&rnum=21&hl=en#7a8dcb9d5b50b501

---REPOST END---


================================================== =====================

Friedrich

NewsArchive
07-20-2011, 06:37 AM
Saved. Thanks!

--
Russell B. Eggen
www.radfusion.com

NewsArchive
07-21-2011, 06:10 AM
Hi Friedrich

> We sent a source code demo a few years ago to Microsoft (written in pure
> Visual Studio 2005 C++ and another one in C#) that demonstrated the very
> same problem.

Which API did you use in your example to create the MDI child windows?

Cheers

Richard

NewsArchive
07-21-2011, 06:11 AM
Win32 that is.

Richard Rose

NewsArchive
07-21-2011, 06:11 AM
Hi Richard,

>> Which API did you use in your example to create the MDI child windows?

IIRC, I used the CreateWindow API.

Friedrich

NewsArchive
07-21-2011, 06:11 AM
> Do you mean the following?

That is the one I was looking for.

Thank you,

Tony

NewsArchive
07-21-2011, 06:11 AM
Here is another one from a VB.NET app. I think I already posted this link
back in 2007, but did not mention it in the last posting.

http://www.dotnetmonster.com/Uwe/Forum.aspx/dotnet-vb/24900/Multiple-MDI-Child-Icons-and-Control-Boxes-Why

Friedrich