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