Re: Draw a grid in a "ContainerGadget"
Posted: Wed Jun 08, 2016 10:23 pm
Actually, PureBasic is all Fred's fault! It's worth a feature request imho. In the meantime changing the class name after creation isn't too easy iirc.
http://www.purebasic.com
https://www.purebasic.fr/english/
netmaestro wrote:Actually, PureBasic is all Fred's fault!
Code: Select all
CreateImage(0,300,200,24,$FFFFFF)
StartDrawing(ImageOutput(0))
For X = 10 To 300 Step 20
For Y = 10 To 200 Step 20
Line(0,Y,300,1,$C0C0C2)
Line(X,0,1,200,$C0C0C2)
Next
Next
StopDrawing()
Procedure ApiContainer(gadgetnumber, X, Y, w, h, Flag)
dwExStyle = Flag;
dwStyle = #WS_CHILD|#WS_VISIBLE|#SS_CENTER|#SS_CENTERIMAGE;|#SS_SUNKEN;
hwndOwner = UseGadgetList(0)
hInstance = GetModuleHandle_(0)
apiContainer = CreateWindowEx_(dwExStyle, "STATIC", "Panel 1", dwStyle, X, Y, w, h, hwndOwner, #Null, hInstance, #Null);
;apiContainer = CreateWindowEx_(#WS_EX_CONTROLPARENT, "static", "", #WS_CHILD|#WS_VISIBLE|#BS_GROUPBOX, X, Y, w, h, UseGadgetList(0), gadgetnumber, GetModuleHandle_(0), 0)
SendMessage_(apiContainer, #WM_SETFONT, GetStockObject_(#DEFAULT_GUI_FONT), 0)
ProcedureReturn apiContainer
EndProcedure
OpenWindow(0,0,0,640,480,"", #PB_Window_SystemMenu|#PB_Window_SizeGadget| #PB_Window_ScreenCentered)
SetWindowColor(0, #White)
ContainerGadget(1, 10,10,300,200,#PB_Container_Flat)
StringGadget(2,10,10,100,20,"")
ButtonGadget(3,120,10,50,20,"OK")
ContainerGadget(22,10,50,100,100,#PB_Container_Flat)
CloseGadgetList()
CloseGadgetList()
ApiContainer(11, 320,10,300,200,#PB_Container_Flat)
;ContainerGadget(11, 320,10,300,200,#PB_Container_Flat)
StringGadget(12,10,10,100,20,"")
TextGadget(13,120,10,50,20,"OK")
;CloseGadgetList()
SetClassLongPtr_(GadgetID(1),#GCL_HBRBACKGROUND, CreatePatternBrush_(ImageID(0)))
Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindowCode: Select all
CreateImage(0,300,200,24,$FFFFFF)
StartDrawing(ImageOutput(0))
For X = 10 To 300 Step 20
For Y = 10 To 200 Step 20
Line(0,Y,300,1,$C0C0C2)
Line(X,0,1,200,$C0C0C2)
Next
Next
StopDrawing()
OpenWindow(0,0,0,640,480,"", #PB_Window_SystemMenu|#PB_Window_SizeGadget| #PB_Window_ScreenCentered)
ContainerGadget(1, 10,10,300,200,#PB_Container_Flat)
StringGadget(2,10,10,100,20,"")
ButtonGadget(3,120,10,50,20,"OK")
ContainerGadget(22,10,50,100,100,#PB_Container_Flat)
ButtonGadget(23,10,10,50,20,"OK")
CloseGadgetList()
CloseGadgetList()
SetGadgetColor(22,#PB_Gadget_BackColor,#White)
ContainerGadget(11, 320,10,300,200,#PB_Container_Flat)
StringGadget(12,10,10,100,20,"")
ButtonGadget(13,120,10,50,20,"OK")
CloseGadgetList()
SetGadgetColor(11,#PB_Gadget_BackColor,#Yellow)
SetClassLongPtr_(GadgetID(1),#GCL_HBRBACKGROUND, CreatePatternBrush_(ImageID(0)))
Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow
Code: Select all
CreateImage(0,300,200,24,$FFFFFF)
StartDrawing(ImageOutput(0))
For X = 10 To 300 Step 20
For Y = 10 To 200 Step 20
Line(0,Y,300,1,$C0C0C2)
Line(X,0,1,200,$C0C0C2)
Next
Next
StopDrawing()
CreateImage(10,300,200,24,$A7FFAE)
CreateImage(20,100,100,24,$A7FBFE)
OpenWindow(0,0,0,640,480,"", #PB_Window_SystemMenu|#PB_Window_SizeGadget| #PB_Window_ScreenCentered)
ImageGadget(0,10,10,300,200,ImageID(0))
DisableGadget(0,1)
ContainerGadget(1, 10,10,300,200,#PB_Container_Flat)
StringGadget(2,10,10,100,20,"")
ButtonGadget(3,120,10,50,20,"OK")
ImageGadget(20,10,50,100,100,ImageID(20))
DisableGadget(20,1)
ContainerGadget(22,10,50,100,100,#PB_Container_Flat)
ButtonGadget(23,10,10,50,20,"OK")
CloseGadgetList()
CloseGadgetList()
ImageGadget(10,320,10,300,200,ImageID(10))
DisableGadget(10,1)
ContainerGadget(11, 320,10,300,200,#PB_Container_Flat)
StringGadget(12,10,10,100,20,"")
ButtonGadget(13,120,10,50,20,"OK")
CloseGadgetList()
SetClassLongPtr_(GadgetID(1),#GCL_HBRBACKGROUND, GetStockObject_(#NULL_BRUSH))
Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow
Code: Select all
CreateImage(0,300,200,24,$FFFFFF)
StartDrawing(ImageOutput(0))
For X = 10 To 300 Step 20
For Y = 10 To 200 Step 20
Line(0,Y,300,1,$C0C0C2)
Line(X,0,1,200,$C0C0C2)
Next
Next
StopDrawing()
CreateImage(10,300,200,24,$FFFFFF)
StartDrawing(ImageOutput(10))
For X = 10 To 300 Step 40
For Y = 10 To 200 Step 40
Line(0,Y,300,1,$C0C0C2)
Line(X,0,1,200,$C0C0C2)
Next
Next
StopDrawing()
OpenWindow(0,0,0,640,480,"", #PB_Window_SystemMenu|#PB_Window_SizeGadget| #PB_Window_ScreenCentered)
ContainerGadget(1, 10,10,300,200,#PB_Container_Flat)
StringGadget(2,10,10,100,20,"")
ButtonGadget(3,120,10,50,20,"OK")
ContainerGadget(22,10,50,100,100,#PB_Container_Flat)
ButtonGadget(23,10,10,50,20,"OK")
CloseGadgetList()
CloseGadgetList()
ContainerGadget(11, 320,10,300,200,#PB_Container_Flat)
StringGadget(12,10,10,100,20,"")
ButtonGadget(13,120,10,50,20,"OK")
CloseGadgetList()
SetGadgetColor(1,#PB_Gadget_BackColor,GetSysColor_( #COLOR_BTNFACE ))
SetGadgetColor(11,#PB_Gadget_BackColor,#Yellow)
SetGadgetColor(22,#PB_Gadget_BackColor,#White)
SetGadgetColor(1, #PB_Gadget_BackColor, #PB_Default)
SetClassLongPtr_(GadgetID(1),#GCL_HBRBACKGROUND, CreatePatternBrush_(ImageID(0)))
SetGadgetColor(11, #PB_Gadget_BackColor, #PB_Default)
SetClassLongPtr_(GadgetID(11),#GCL_HBRBACKGROUND, CreatePatternBrush_(ImageID(10)))
Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow