Caps Lock Symbol

Plattformunabhängige GUIs mit wxWidgets.
sprudel
User
Beiträge: 245
Registriert: Donnerstag 8. März 2007, 17:12

Caps Lock Symbol

Beitragvon sprudel » Dienstag 27. März 2007, 14:25

Hallo. 2 Fragen:

1. Gibt es irgendeine spezielle Funktion, dass in der Statusleistei ein Symbol angezeigt wird, welches leuchet (oder irgendwie anders) signalisiert dass Capslock aktiviert ist?

2.
Wie kann ich die einzelnen Abschnitte in der größe Ändern? Am besten wäre eine %-Angabe. Ist das möglich?
Benutzeravatar
Masaru
User
Beiträge: 425
Registriert: Mittwoch 4. August 2004, 22:17

Beitragvon Masaru » Dienstag 27. März 2007, 15:45

1.

Code: Alles auswählen

import win32api
import win32con

print "CapsLock is: %s" % ('off', 'on')[win32api.GetKeyState(win32con.VK_CAPITAL)]

Das Ergebnis von win32api.GetAsyncKeyState selber in die Leiste integrieren.

2. ... *schulterzuck* :D

---
EDIT: Konstante für CapsLock in win32con im Snippet erweitert
Zuletzt geändert von Masaru am Mittwoch 28. März 2007, 09:07, insgesamt 1-mal geändert.
sprudel
User
Beiträge: 245
Registriert: Donnerstag 8. März 2007, 17:12

Beitragvon sprudel » Dienstag 27. März 2007, 15:54

Geht es auch Plattformübergreifend?
Benutzeravatar
Masaru
User
Beiträge: 425
Registriert: Mittwoch 4. August 2004, 22:17

Beitragvon Masaru » Dienstag 27. März 2007, 16:22

Hm ... es könnte mit wxPython selbst auch funktionieren.

Es gibt die wx.KeyEvent Klasse, in welcher auch der Keycode "WXK_CAPITAL" (war CapsLock sein müsste) sind befindet.

Auf das Drücken dieser Taste könnte man z.B. Abfragen mit den KeyEvents.

Letztendlich darf man aber nicht vergessen, dass die CapsLock Taste je nach Tastatur, Treiber, kultureller Sprachregion, etc. theoretisch andere KeyCodes haben kann.

Neben Encoding eines der größten Herrausforderungen für Softwarearchitekten *hehe*.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » Dienstag 27. März 2007, 19:38

Hi!

Es geht einfacher:

Code: Alles auswählen

>>> import wx
>>> wx.GetKeyState(wx.WXK_NUMLOCK)
True
>>> wx.GetKeyState(wx.WXK_SCROLL)
False
>>> wx.GetKeyState(wx.WXK_CAPITAL)
False
>>>

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder