Code: Select all
CreateImage(0, 620,340)
StartDrawing(ImageOutput(0))
Box(0,0,620,340,#Blue)
DrawingMode(#PB_2DDrawing_Outlined)
Box(0,0,620,340,RGB(0, 0, 0))
StopDrawing()
CreateImage(1,618,338)
StartDrawing(ImageOutput(1))
DrawingMode(#PB_2DDrawing_Gradient)
LinearGradient(0, 0, 500, 0)
GradientColor(0.00, $03FEFC)
GradientColor(0.25, $83FD7C)
GradientColor(0.50, $FA8C05)
GradientColor(0.75, $0593FA)
GradientColor(1.00, $0803F7)
Box(0,0,618,338)
StopDrawing()
hBrush = CreatePatternBrush_(ImageID(1))
CreateImage(2,618,338)
hdc = StartDrawing(ImageOutput(2))
For X = 0 To 617
For Y = 0 To 337
Plot(X, Y, RGB(X, Y, X*Y/20))
Next
Next
StopDrawing()
hBrush2 = CreatePatternBrush_(ImageID(2))
Procedure WndProc(hwnd, uMsg, wParam, lParam)
result = #PB_ProcessPureBasicEvents
Select uMsg
Case #WM_MOVE,#WM_PAINT
ClientToScreen_(WindowID(0), c.POINT)
MoveWindow_(WindowID(1),c\x+11,c\y+11,618,338,1)
EndSelect
ProcedureReturn result
EndProcedure
hWin=OpenWindow(0, 0, 0,640,480, "Window_0",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
hMenu = CreateMenu(#PB_Any, hWin)
MenuTitle("MenuChoice")
OpenSubMenu("SubChoice")
MenuItem(0101, "Choice1")
MenuBar()
MenuItem(0111, "Choice2")
MenuItem(0112, "Choice3")
MenuItem(0113, "Choice4")
MenuItem(0114, "Choice5")
MenuBar()
MenuItem(0121, "Choice6")
MenuItem(0122, "Choice7")
MenuItem(0123, "Choice8")
MenuItem(0124, "Choice9")
CloseSubMenu()
ButtonGadget(1,10,430,60,20,"IMAGE 1")
ButtonGadget(2,570,430,60,20,"IMAGE 2")
TrackBarGadget(3, 10, 380, 620, 30, 0,255,#PB_TrackBar_Ticks)
SetWindowLongPtr_(WindowID(0),#GWL_EXSTYLE,#WS_EX_LAYERED)
SetLayeredWindowAttributes_(WindowID(0),#Blue,0,#LWA_COLORKEY)
ImageGadget(0,10,10,620,340,ImageID(0))
OpenWindow(1,0,0,0,0,"",#WS_POPUP,hWin)
hBrush = CreatePatternBrush_(ImageID(1))
SetClassLongPtr_(WindowID(1), #GCL_HBRBACKGROUND, hBrush)
SetWindowCallback(@WndProc())
SetActiveWindow(0)
SetWindowLongPtr_(WindowID(1),#GWL_EXSTYLE,#WS_EX_LAYERED)
SetLayeredWindowAttributes_(WindowID(1),0,255,#LWA_ALPHA)
Repeat
EventID = WaitWindowEvent()
Select EventID
Case #PB_Event_Gadget
Select EventGadget()
Case 1
SetClassLongPtr_(WindowID(1), #GCL_HBRBACKGROUND, hBrush2)
InvalidateRect_(WindowID(1),0,1)
Case 2
SetClassLongPtr_(WindowID(1), #GCL_HBRBACKGROUND, hBrush)
InvalidateRect_(WindowID(1),0,1)
Case 3
Result = GetGadgetState(3) ! 255
SetLayeredWindowAttributes_(WindowID(1),0,Result,#LWA_ALPHA)
EndSelect
Case #PB_Event_CloseWindow
Quit = 1
EndSelect
Until Quit = 1
End