Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
60
Task/Window-management/PureBasic/window-management.basic
Normal file
60
Task/Window-management/PureBasic/window-management.basic
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
;- Create a linked list to store created windows.
|
||||
NewList Windows()
|
||||
Define i, j, dh, dw, flags, err$, x, y
|
||||
|
||||
;- Used sub-procedure to simplify the error handling
|
||||
Procedure HandleError(Result, Text.s,ErrorLine=0,ExitCode=0)
|
||||
If Not Result
|
||||
MessageRequester("Error",Text)
|
||||
End ExitCode
|
||||
EndIf
|
||||
ProcedureReturn Result
|
||||
EndProcedure
|
||||
|
||||
;- Window handling procedures
|
||||
Procedure Minimize(window)
|
||||
SetWindowState(window,#PB_Window_Minimize)
|
||||
EndProcedure
|
||||
|
||||
Procedure Normalize(window)
|
||||
SetWindowState(window,#PB_Window_Normal)
|
||||
EndProcedure
|
||||
|
||||
;- Get enviroment data
|
||||
HandleError(ExamineDesktops(), "Failed to examine you Desktop.")
|
||||
dh=HandleError(DesktopHeight(0),"Could not retrieve DesktopHight")/3
|
||||
dw=HandleError(DesktopWidth(0), "Could not retrieve DesktopWidth")/3
|
||||
|
||||
;- Now, creating 9 windows
|
||||
flags=#PB_Window_SystemMenu
|
||||
err$="Failed to open Window"
|
||||
For i=0 To 8
|
||||
j=HandleError(OpenWindow(#PB_Any,i*10,i*10+30,10,10,Str(i),flags),err$)
|
||||
SmartWindowRefresh(j, 1)
|
||||
AddElement(Windows())
|
||||
Windows()=j
|
||||
Next i
|
||||
Delay(1000)
|
||||
|
||||
;- Call a sub-routine for each Window stored in the list.
|
||||
ForEach Windows()
|
||||
Minimize(Windows())
|
||||
Next
|
||||
Delay(1000)
|
||||
;- and again
|
||||
ForEach Windows()
|
||||
Normalize(Windows())
|
||||
Next
|
||||
Delay(1000)
|
||||
|
||||
;- Spread them evenly
|
||||
ForEach Windows()
|
||||
ResizeWindow(Windows(),x*dw,y*dh,dw-15,dh-35)
|
||||
x+1
|
||||
If x>2
|
||||
x=0: y+1
|
||||
EndIf
|
||||
Next
|
||||
Delay(2000)
|
||||
|
||||
End
|
||||
Loading…
Add table
Add a link
Reference in a new issue