Autor Wątek: [GUI] Textarea  (Przeczytany 2068 razy)

Offline kodzik

  • Użytkownik

# Czerwiec 12, 2012, 20:47:58
Cześć, bawiłem się trochę w tworzenie GUI, jako że wyświetlanie polskich ogonków i innych różnych "niestadardowych" znaków z UTF-8 nie robi największego problemu, to jednak zastanawiam się jak czytać te znaki. Zwykle od usera dostaje kod klawisza, sprawdzam Ctrl, Shift itp., ale nie wiem jak napisać uniwersalny, niezależny od systemu, języka klawiatury itp. handler tych wszystkich znaków. Jak to jest zrobione, gdy dostaje np. tylko kod litery "a" i wiem, że Alt jest wciśnięty to zależnie od języków wprowadzam i wyświetlam inną literę?

Pozdrawiam, kodzik.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Dab

  • Redaktor
    • blog

# Czerwiec 12, 2012, 21:30:22
Każdy system ma swoje mechanizmy do tego. W przypadku Windows albo zwykły WM_CHAR dla okien Unicode, albo dla okien ANSI WM_UNICHAR. Używanie alta to specyfika układu polski programisty, dla wielu innych języków znaki są bezpośrednio na klawiaturze (i pokrywają się z innymi). A dla języków azjatyckich sposoby wprowadzania znaków to już w ogóle inna bajka (IME, rozpoznawanie znaków odręcznych itp).

Offline kodzik

  • Użytkownik

# Czerwiec 12, 2012, 21:34:02
Ahh, a istnieje może jakieś multiplatformowe rozwiązanie (jakiś lib, framework może)? Zależy mi na Linuxach, Windowsach i Macu.

Offline Dab

  • Redaktor
    • blog

# Czerwiec 12, 2012, 21:42:42
To już jest generalnie zadanie jakiegoś frameworka który komunikuje się z systemem (w rodzaju SDL). Biblioteki do GUI mają zwykle w interfejsie po prostu funkcję która przyjmuje znak unicode. Przejrzyj sobie np. źródła Gwen.