📄 winapi3.pb
字号:
;//////////////////////////////////
; Amlinger
; by 2008 02 06
;描述:线程
;目标:了解线程的创建
;//////////////////////////////////
;两个进度条同时在运行
;并没有运用定时器.
;嘿嘿 PureBasic 创建多线程的东西还是很容易的.
;当然,对多线程的控制方面 大家可以自行学习
Enumeration
#Window_0
#ProgressBar_0
#ProgressBar_1
EndEnumeration
OpenWindow(#Window_0,200,200,600,400, " Thread " , #PB_Window_SystemMenu )
If CreateGadgetList(WindowID(#Window_0))
ProgressBarGadget(#ProgressBar_0, 40, 70, 500, 20, 0, 1000,#PB_ProgressBar_Smooth )
ProgressBarGadget(#ProgressBar_1, 40, 110, 500, 20, 0, 1000,#PB_ProgressBar_Smooth )
EndIf
Procedure Thread(Parameter.l)
RandomSeed(Date)
For i = 0 To 1000
;WaitWindowEvent()
;这里采用随机延时的办法
;如果要让两个纯种同时到达,可以用线程控件的办法来处理
;如:WaitProgram 让指定的线程暂停 一小会
Delay(Random(100))
SetGadgetState(Parameter,i)
Next i
EndProcedure
;创建事件一
CreateThread(@Thread(), #ProgressBar_0)
;创建事件二
CreateThread(@Thread(), #ProgressBar_1)
;循环检查
Repeat
;等待Windows窗口事件发生 并返回事件号
WindowsAction.l = WaitWindowEvent()
If WindowsAction = #PB_Event_CloseWindow
quit = 1
EndIf
;如果quit=1则退出
Until quit = 1
;结束程序
End
; IDE Options = PureBasic 4.10 (Windows - x86)
; CursorPosition = 30
; FirstLine = 18
; Folding = -
; EnableAsm
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -