diff options
| -rwxr-xr-x | examples/example_06_keyboard_events.nim | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/examples/example_06_keyboard_events.nim b/examples/example_06_keyboard_events.nim index ea19404..7e85879 100755 --- a/examples/example_06_keyboard_events.nim +++ b/examples/example_06_keyboard_events.nim @@ -6,16 +6,33 @@ app.init() var window = newWindow()
+var container = newLayoutContainer(Layout_Vertical)
+window.add(container)
+
+var textBox = newTextBox()
+container.add(textBox)
+
var label = newLabel()
-window.add(label)
+
window.onKeyDown = proc(event: KeyboardEvent) =
- label.text = label.text & "KeyDown event: key: " & $event.key & ", unicode: " & $event.unicode & ", character: " & event.character & ", down keys: " & $downKeys() & "\n"
+ label.text = label.text & "Window KeyDown event: key: " & $event.key & ", unicode: " & $event.unicode & ", character: " & event.character & ", down keys: " & $downKeys() & "\n"
# Ctrl + Q -> Quit application
if Key_Q.isDown() and Key_ControlL.isDown():
app.quit()
+textBox.onKeyDown = proc(event: KeyboardEvent) =
+ label.text = label.text & "TextBox KeyDown event: key: " & $event.key & ", unicode: " & $event.unicode & ", character: " & event.character & ", down keys: " & $downKeys() & "\n"
+
+ # Accept only digits
+ if event.character.len != 1 or event.character[0] notin '0'..'9':
+ event.handled = true
+
+
+container.add(label)
+
window.show()
+textBox.focus()
app.run()
|
