diff options
| author | trustable-code <krauter.simon@arcor.de> | 2019-11-08 17:20:40 +0100 |
|---|---|---|
| committer | trustable-code <krauter.simon@arcor.de> | 2019-11-08 17:20:40 +0100 |
| commit | 03e1f3afb56d539a13d415f93db2dc6bbcb9c4ed (patch) | |
| tree | 46e46f0b0f8e71b9ecb33150bf550212646de881 /src/nigui/private/windows | |
| parent | 1c6801c21cf04c738624797710d5938e737b1ca8 (diff) | |
| download | NiGui-03e1f3afb56d539a13d415f93db2dc6bbcb9c4ed.tar.gz NiGui-03e1f3afb56d539a13d415f93db2dc6bbcb9c4ed.zip | |
Add Progress Bar control
Fixes #71
Diffstat (limited to 'src/nigui/private/windows')
| -rwxr-xr-x | src/nigui/private/windows/platform_impl.nim | 17 | ||||
| -rwxr-xr-x | src/nigui/private/windows/platform_types2.nim | 2 | ||||
| -rwxr-xr-x | src/nigui/private/windows/windows.nim | 2 |
3 files changed, 21 insertions, 0 deletions
diff --git a/src/nigui/private/windows/platform_impl.nim b/src/nigui/private/windows/platform_impl.nim index c1f9790..2876448 100755 --- a/src/nigui/private/windows/platform_impl.nim +++ b/src/nigui/private/windows/platform_impl.nim @@ -1476,6 +1476,23 @@ method `text=`(label: NativeLabel, text: string) = # ---------------------------------------------------------------------------------------- +# ProgressBar +# ---------------------------------------------------------------------------------------- + +const pProgressBarMaxValue = 10_000 + +proc init(progressBar: NativeProgressBar) = + progressBar.fHandle = pCreateWindowExWithUserdata("msctls_progress32", WS_CHILD, 0, pDefaultParentWindow, cast[pointer](progressBar)) + discard SendMessageA(progressBar.fHandle, PBM_SETRANGE32, cast[pointer](0), cast[pointer](pProgressBarMaxValue)) + progressBar.ProgressBar.init() + +method `value=`(progressBar: NativeProgressBar, value: float) = + procCall progressBar.ProgressBar.`value=`(value) + discard SendMessageA(progressBar.fHandle, PBM_SETPOS, cast[pointer]((value * pProgressBarMaxValue).int32), nil) + app.processEvents() + + +# ---------------------------------------------------------------------------------------- # TextBox # ---------------------------------------------------------------------------------------- diff --git a/src/nigui/private/windows/platform_types2.nim b/src/nigui/private/windows/platform_types2.nim index 0dfe32b..986b847 100755 --- a/src/nigui/private/windows/platform_types2.nim +++ b/src/nigui/private/windows/platform_types2.nim @@ -15,4 +15,6 @@ type NativeLabel* = ref object of Label
+ NativeProgressBar* = ref object of ProgressBar
+
NativeTextBox* = ref object of TextBox
diff --git a/src/nigui/private/windows/windows.nim b/src/nigui/private/windows/windows.nim index c3a8845..5defd80 100755 --- a/src/nigui/private/windows/windows.nim +++ b/src/nigui/private/windows/windows.nim @@ -76,6 +76,8 @@ const IMAGE_ICON* = 1 # LR_LOADFROMFILE* = 16 OBJ_BRUSH* = 2 + PBM_SETPOS* = 1026 + PBM_SETRANGE32* = 1030 PM_REMOVE* = 1 SB_HORZ* = 0 SB_THUMBPOSITION* = 4 |
