timer.nsi 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. !include LogicLib.nsh
  2. !include nsDialogs.nsh
  3. Name "nsDialogs Timer Example"
  4. OutFile "nsDialogs Timer Example.exe"
  5. XPStyle on
  6. Var DIALOG
  7. Var TEXT
  8. Var PROGBAR
  9. Var PROGBAR2
  10. Var PROGBAR3
  11. Var BUTTON
  12. Var BUTTON2
  13. Page custom nsDialogsPage
  14. Function OnTimer
  15. SendMessage $PROGBAR ${PBM_GETPOS} 0 0 $1
  16. ${If} $1 = 100
  17. SendMessage $PROGBAR ${PBM_SETPOS} 0 0
  18. ${Else}
  19. SendMessage $PROGBAR ${PBM_DELTAPOS} 10 0
  20. ${EndIf}
  21. FunctionEnd
  22. Function OnTimer2
  23. SendMessage $PROGBAR2 ${PBM_GETPOS} 0 0 $1
  24. ${If} $1 = 100
  25. SendMessage $PROGBAR2 ${PBM_SETPOS} 0 0
  26. ${Else}
  27. SendMessage $PROGBAR2 ${PBM_DELTAPOS} 5 0
  28. ${EndIf}
  29. FunctionEnd
  30. Function OnTimer3
  31. SendMessage $PROGBAR3 ${PBM_GETPOS} 0 0 $1
  32. ${If} $1 >= 100
  33. ${NSD_KillTimer} OnTimer3
  34. MessageBox MB_OK "Timer 3 killed"
  35. ${Else}
  36. SendMessage $PROGBAR3 ${PBM_DELTAPOS} 2 0
  37. ${EndIf}
  38. FunctionEnd
  39. Function OnClick
  40. Pop $0
  41. ${NSD_KillTimer} OnTimer
  42. FunctionEnd
  43. Function OnClick2
  44. Pop $0
  45. ${NSD_KillTimer} OnTimer2
  46. FunctionEnd
  47. Function nsDialogsPage
  48. nsDialogs::Create 1018
  49. Pop $DIALOG
  50. ${NSD_CreateLabel} 0u 0u 100% 9u "nsDialogs timer example"
  51. Pop $TEXT
  52. ${NSD_CreateProgressBar} 0u 10u 100% 12u ""
  53. Pop $PROGBAR
  54. ${NSD_CreateButton} 0u 25u 100u 14u "Kill Timer 1"
  55. Pop $BUTTON
  56. ${NSD_OnClick} $BUTTON OnClick
  57. ${NSD_CreateProgressBar} 0u 52u 100% 12u ""
  58. Pop $PROGBAR2
  59. ${NSD_CreateButton} 0u 67u 100u 14u "Kill Timer 2"
  60. Pop $BUTTON2
  61. ${NSD_OnClick} $BUTTON2 OnClick2
  62. ${NSD_CreateProgressBar} 0u 114u 100% 12u ""
  63. Pop $PROGBAR3
  64. ${NSD_CreateTimer} OnTimer 1000
  65. ${NSD_CreateTimer} OnTimer2 100
  66. ${NSD_CreateTimer} OnTimer3 200
  67. nsDialogs::Show
  68. FunctionEnd
  69. Section
  70. SectionEnd