summaryrefslogtreecommitdiff
path: root/src/nigui/private/windows/platform_impl.nim
diff options
context:
space:
mode:
authortrustable-code <krauter.simon@arcor.de>2019-11-08 17:20:40 +0100
committertrustable-code <krauter.simon@arcor.de>2019-11-08 17:20:40 +0100
commit03e1f3afb56d539a13d415f93db2dc6bbcb9c4ed (patch)
tree46e46f0b0f8e71b9ecb33150bf550212646de881 /src/nigui/private/windows/platform_impl.nim
parent1c6801c21cf04c738624797710d5938e737b1ca8 (diff)
downloadNiGui-03e1f3afb56d539a13d415f93db2dc6bbcb9c4ed.tar.gz
NiGui-03e1f3afb56d539a13d415f93db2dc6bbcb9c4ed.zip
Add Progress Bar control
Fixes #71
Diffstat (limited to 'src/nigui/private/windows/platform_impl.nim')
-rwxr-xr-xsrc/nigui/private/windows/platform_impl.nim17
1 files changed, 17 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
# ----------------------------------------------------------------------------------------