Page 1 of 1

Parenting Windows

Posted: Wed Jul 28, 2004 8:25 pm
by Raven
Before anyone says... 'Use the WinAPI'
I am trying to keep far away from platform dependant functions as possible. What I want to do is basically something similar to MDI, and for this i need the Child Window to draw inside the Parent Window.

Now the long route i know to do this is to fake it, and have the child Window alter itself to always be inside the other window. This would become exceedingly difficult as Windows would *always* have to be within the boundries of the Parent.

Can anyone explain or even better show me a working example of how to get the Child/Parent Windowing to work like a contained Window?

Posted: Wed Jul 28, 2004 11:07 pm
by Kale
Use the WinAPI! :twisted: or MDIGadget() ?

Code: Select all

If OpenWindow(0,0,0,400,300,#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_SizeGadget|#PB_Window_MaximizeGadget,"MDIGadget") 
    If CreateGadgetList(WindowID(0)) And CreateMenu(0, WindowID(0)) 
        MenuTitle("Menu index 0") 
        MenuTitle("MDI windows menu") 
        MenuItem(0, "self created item") 
        MenuItem(1, "self created item") 
        MDIGadget(0, 0, 0, 0, 0, 1, 2, #PB_MDI_AutoSize) 
        AddGadgetItem(0, -1, "child window") 
        ; add gadgets here... 
        CloseGadgetList() 
    EndIf 
    Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow 
EndIf

Posted: Thu Jul 29, 2004 5:15 am
by Raven
Yeah but that would make the application as multiplatforming as a Kowala. :(

I gave up on PB's internal system a good 8hrs ago though, started working on a Windowing API Plugin instead. Going to take a while longer but should save me in the long run.

Just can't believe what should be a simple task for the api becomes a mountain performance without the use of the Windows Shell.