Center a window in BMax
BlitzMax Forums/BlitzMax GUI Programming/Center a window in BMaxLocal window:TGadget Local w = 600 Local h = 400 Local dx:Int = ClientWidth(Desktop() ) Local dy:Int = ClientHeight(Desktop() ) dx = dx / 2 - w / 2 dy = dy/2 -h/2 window=CreateWindow( myAppTitle$, dx,dy,w,h,,WINDOW_TITLEBAR) While True WaitEvent Print CurrentEvent.ToString() Select EventID() Case EVENT_WINDOWCLOSE End End Select Wend
Here's a function for centering a gadget based on another gadgets position.
It's default setup is for a window.
It's default setup is for a window.
Function CenterGadgetPos(Wnd:TGadget, Gadget:TGadget = Desktop()) 'If Gadget = Null Then Gadget = Desktop() Local width:Int = GadgetWidth(Wnd) Local Height:Int = GadgetHeight(Wnd) 'DebugLog GadgetX(gadget) + "," + GadgetY(gadget) 'DebugLog "x" + ((ClientWidth (Gadget) / 2) - (width / 2)) + "y" + ((ClientHeight (Gadget) / 2) - (Height / 2)) + "w" + width + "h" + Height SetGadgetShape(Wnd, (ClientWidth (Gadget) / 2) - (width / 2), (ClientHeight (Gadget) / 2) - (Height / 2), width, Height) End Function