Parenting Windows

Just starting out? Need help? Post your questions and find answers here.
Raven
User
User
Posts: 45
Joined: Tue Jul 15, 2003 4:03 pm
Location: England

Parenting Windows

Post 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?
Kale
PureBasic Expert
PureBasic Expert
Posts: 3000
Joined: Fri Apr 25, 2003 6:03 pm
Location: Lincoln, UK
Contact:

Post 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
--Kale

Image
Raven
User
User
Posts: 45
Joined: Tue Jul 15, 2003 4:03 pm
Location: England

Post 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.
Post Reply