Deutsch
Forum

Software zum Ändern des Tastaturlayouts

 
- Seite 1 -



Penguin
Tux
Hallo,

gibt es irgendeine Möglichkeit, ein Tool für Windows XP/2000 zu schreiben, welches das Tastaturlayout von Deutsch auf Russisch und von Russisch in Deutsch switchen kann? Dazu benötige ich eine einfache GUI, da die Nutzer nicht wirklich viel Ahnung haben werden. Das wichtige ist, dass dabei keine Registryeinträge geändert werden, weil es sonst Konflikte mit der Rechtevergabe im Netzwerk geben könnte.

Danke schonmal für eure Hilfe
Tony
KompilierenMarkierenSeparieren
declare btndlg&,dlgende%,dlg&
dlg&=Create("Window",%hwnd,"Sprache",10,10,200,120)
Startpaint dlg&
UseFont "CANDARA",25,20,1,0,0
TextColor RGB(0,0,0),RGB(255,255,255)
Endpaint
btnDlg& = CreateButton(dlg&,"Deutsch -> Russisch",30,10,120,30)
btnDlg& = CreateButton(dlg&,"Russisch -> Deutsch",30,45,120,30)

WhileNot dlgende%

    WaitInput

    If GetFocus(btnDlg&)

        dlgende% = 1

    EndIf

Endwhile

destroywindow(dlg&)

Die GUI ist, wenn auch nur vom optischen her, fertig. der Code ist mit Sicherheit reinster Müll und man könnte ihn bestimmt auch noch verbessern. Jetzt geht es darum, die richtigen Funktionen zum richtigen Button zu schreiben.
 


OS: Win XP/Debian
XProfan 10
23.09.2008  
 



 
- Seite 2 -



Penguin
Tux
Das könnte natürlich sein. Mache ich das einfach über den UseFont besefehl?
 


OS: Win XP/Debian
XProfan 10
24.09.2008  
 




Dieter
Zornow
Du must über Textdienste und Eingabesprachen russisch dazu nehmen, Windows zeigt dann in der Taskleiste ein Feld an, indem du einfach die Sprachen wechseln kannst auch mit dem dazu gehörenden Font. Es genügt nicht einfach das Tastatur Layout zu wechseln. Mit dem Taskleistentool von Windows geht die Umschaltung einfach und schnell mit einem Klick. Ich mache das mit Deutsch, Englisch und Thai.
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
24.09.2008  
 




Penguin
Tux
Das das mit dem Kästchen funktioniert weiß ich. Es war eben nur die Frage ob das ein Schüler auch ändern kann.
 


OS: Win XP/Debian
XProfan 10
24.09.2008  
 




Frank
Abbing
Mit diesem Code schaltest du schonmal zum nächsten Schema:
KompilierenMarkierenSeparieren
 $H Windows.ph
~keybd_event(18, 0, 0, 0)  Alt
~keybd_event(16, 0, 0, 0) Shift
~keybd_event(16, 0, ~KEYEVENTF_KEYUP, 0)
~keybd_event(18, 0, ~KEYEVENTF_KEYUP, 0)
End
 
24.09.2008  
 




Penguin
Tux
Danke, aber das hilft mir nur in gewissem Maße weiter. Das Hauptproblem liegt immernoch darin, dass ich diese Schwarzen striche habe. Über UseFont geht es nicht wie ich mittlerweile gemerkt habe.
 


OS: Win XP/Debian
XProfan 10
24.09.2008  
 




Frank
Abbing
Hast du den Dialogfont gesetzt, bevor du Das Editfeld erstellst?
KompilierenMarkierenSeparieren
Usefont "MS Sans Serif",13,0,0,0,0
SetDialogFont 1
 
24.09.2008  
 




Penguin
Tux
Was bleibt mir anderes Übrig als mich zu bedanken?

Danke, für deine Hilfe

Ich frage mich nur gerade wie man solch ein Eingabefeld erstellt. Die Hilfe hat mir nichts gebracht
 


OS: Win XP/Debian
XProfan 10
24.09.2008  
 




Frank
Abbing
Du kannst ein normales Edit, ein Richtextedit oder ein Multiedit verwenden, dazu gibt es in der Hilfe ja viele Beispiele. In meinem Beispiel habe ich ja auch eines erzeugt.
 
24.09.2008  
 




Penguin
Tux
Ok, das Editfeld ist nun erstellt, das Problem ist nur, dass ich es mit keiner mir einfallenden Funktion schaffe, das beide Felder erzeugt werden.

Hier der Code:
KompilierenMarkierenSeparieren
WINDOWSTYLE 31
Window 0,0-0,1024
Windowtitle "Deutsch - Russisch"
Window 0,0-%maxx,%maxy
UseIcon "Gesicht"
Eingabe Deutsch
Usefont "Arial",20,0,0,0,0
SetDialogFont 1
 $H Windows.ph
Declare Edit&
Cls
Edit& = @Create("MultiEdit",%hWnd,"Deutsch",10,10,1000,320)
WaitKey
End
Eingabe Russisch
Usefont "Arial",20,0,0,0,0
SetDialogFont 1
Def ActivateKeyboardLayout(2)!"USER32","ActivateKeyboardLayout"
Def &VK_FLAGSR 1 Tastenlayout Russisch
Def &VK_FLAGSD 0 Tastenlayout Deutsch
Declare edit&,text$
Cls
edit&=Create("MultiEdit", %hWnd, "", 10, 370, 1000, 320)
ActivateKeyboardLayout(0, &VK_FLAGSR)

While 1

    WaitInput
    Case %key=2:Break

Endwhile

ActivateKeyboardLayout(0, &VK_FLAGSD)
End
 


OS: Win XP/Debian
XProfan 10
25.09.2008  
 




Frank
Abbing
Hm, du hast ja mittendrin ein End stehen...
KompilierenMarkierenSeparieren
Def ActivateKeyboardLayout(2)!"USER32","ActivateKeyboardLayout"
Def &VK_FLAGSR 1 Tastenlayout Russisch
Def &VK_FLAGSD 0 Tastenlayout Deutsch
Declare edit1&,edit2&,text$,x&
WINDOWSTYLE 31
Window 0,0-0,1024
Windowtitle "Deutsch - Russisch"
Window 0,0-%maxx,%maxy
UseIcon "Gesicht"
Usefont "Arial",20,0,0,0,0
SetDialogFont 1
edit1& = @Create("MultiEdit",%hWnd,"Russisch",10,10,1000,320)
edit2&=Create("MultiEdit", %hWnd, "Deutsch", 10, 370, 1000, 320)

While 1

    WaitInput
    Case %key=2:Break

    If %GetFocus=edit1&

        ActivateKeyboardLayout(0, &VK_FLAGSR)

    ElseIf %GetFocus=edit2&

        ActivateKeyboardLayout(0, &VK_FLAGSD)

    EndIf

Endwhile

End
 
25.09.2008  
 




Penguin
Tux
Nun denn, langsam wird es. Das zweite Feld ist jetzt da, wechsel ich, vom Russischen ins Deutsche, schaltet zwar die Sprache um, aber es Schreibt immernoch in kyrillischer Schrift. Ich muss jede Taste zweimal drücken, damit ich wieder normal schreiben kann.

Ich habe nun beobachtet, dass in beiden Feldern nach jedem Tastendruck das Eingabegebietsschema geändert wird.
 


OS: Win XP/Debian
XProfan 10
26.09.2008  
 



@Penguin
Kleinigkeit am Rande:

Wenn du WINDOWSTYLE 31 + 512 schreibst, hat das Fenster die Eigenschaften eines Dialog-Fensters und du kannst mit der TAB-Taste zwischen den beiden Eingaben wechseln (TAB-Taste = Iskey(9) )
 
26.09.2008  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

31.493 Betrachtungen

Unbenanntvor 0 min.
Stringray08.10.2017
Wilfried Friebe11.01.2016
Georg Teles29.06.2015
mein02.06.2013
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie