Diese Seite mit anderen teilen ...

Informationen zum Thema:
Forum:
WinDev Forum
Beiträge im Thema:
4
Erster Beitrag:
vor 5 Jahren, 2 Monaten
Letzter Beitrag:
vor 5 Jahren, 2 Monaten
Beteiligte Autoren:
Fabrice Harari.pcs.crosspost, Richard.pcs.crosspost, GuenterP, Andrew.pcs.crosspost

MDI Windows - multiple Parents with Children. Fun stuff...

Startbeitrag von Andrew.pcs.crosspost am 13.03.2013 15:48

Hello, all! - I'm having some trouble with MDI Windows...


I have 1 Parent MDI Window and 1 Child MDI Window.

From inside the Parent I can create multiple child windows. Great. Easy peasy.

Also from inside the Parent I can create Sister windows of the Parent MDI Window.

Now this is where it messes up. From inside that Sister Parent MDI Window I need to be able to create Child MDI Windows inside that window (the created Sister Parent MDI Window). Currently, when I call to open a Child MDI Window inside the Sister Parent MDI WIndow the new Child MDI Window will open in the first Parent MDI Window and not the Sister.

I've added a parameter to the Child window to hold the Alias of the Parent window calling for the creation/open of the Child window and it DOES successfully contain the Alias of the Window that was actually used to create/open the Child; however, the Child will always open and belong to the first Parent window.

Anyone got any insight on this? Is this just how WinDev is?

Message forwarded from pcsoft.us.windev

Antworten:

Hi, imho this is like Microsoft originally designed the MDI interface. Which is out of fashion for quite a time now. There are a few more funnies with maximizing and so on if you're digging deeper. PC Soft adhered to the MDI-standard, you can't blame them for that. Personally, I'm using maximized childs within the MDI parent frame, they resize with the frame, iconizing impossible, individual resize impossible. For more complex designs use 'internal windows'. Be assured, they have their peculiarities too. No way around some experimenting before deciding for a certain interface. Regards, Guenter

von GuenterP - am 13.03.2013 18:10
Why are you trying to create two or more MDI Frames? MS never intended two or more MDI frames to exist in the same program, this is why you are seeing MDI child windows appearing in the first MDI Frame.

Have a look at Writing the Frame Window Procedure on this link http://msdn.microsoft.com/en-gb/library/windows/desktop/ms644909%28v=vs.85%29.aspx

The Frame has to handle special messages through DefFrameProc and handle the messages in the list on the web link. If two frames exist the OS wont know which MDI frame should be handling the windows messages it has to process.

If you need to create two MDI frames consider starting a new instance of the program instead which starts with the second MDI Frame.

Where did the terminology for "Sister windows of the Parent MDI Window." come from? I've never heard of this terminology before and this post is the first instance of sister MDI frame when searching google.



Message forwarded from pcsoft.us.windev

von Richard.pcs.crosspost - am 21.03.2013 14:34
Hi Richard,

in windev, there is an OpenSister function to open the sister of a modal
window... It does work whether the original window is MDI or NOT, hence
the problem, because, as you very justly stated, MDI is NOT made that way.

Which is why several answers already advised to forget MDI in that case
and just manage the child window position by code

Best regards


--
Fabrice Harari
International WinDev, WebDev and WinDev mobile Consulting

More information on http://www.fabriceharari.com

On 3/21/2013 10:34 AM, Richard wrote:
> Why are you trying to create two or more MDI Frames? MS never intended two or more MDI frames to exist in the same program, this is why you are seeing MDI child windows appearing in the first MDI Frame.
>
> Have a look at Writing the Frame Window Procedure on this link http://msdn.microsoft.com/en-gb/library/windows/desktop/ms644909%28v=vs.85%29.aspx
>
> The Frame has to handle special messages through DefFrameProc and handle the messages in the list on the web link. If two frames exist the OS wont know which MDI frame should be handling the windows messages it has to process.
>
> If you need to create two MDI frames consider starting a new instance of the program instead which starts with the second MDI Frame.
>
> Where did the terminology for "Sister windows of the Parent MDI Window." come from? I've never heard of this terminology before and this post is the first instance of sister MDI frame when searching google.
>
>
>
Message forwarded from pcsoft.us.windev

von Fabrice Harari.pcs.crosspost - am 21.03.2013 14:54
Zur Information:
MySnip.de hat keinen Einfluss auf die Inhalte der Beiträge. Bitte kontaktieren Sie den Administrator des Forums bei Problemen oder Löschforderungen über die Kontaktseite.
Falls die Kontaktaufnahme mit dem Administrator des Forums fehlschlägt, kontaktieren Sie uns bitte über die in unserem Impressum angegebenen Daten.