Langue

Sinsitrus Messages postés 849 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015 - 15 mai 2008 à 12:44
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 15 mai 2008 à 22:41
Salut à tous !

J'ai trois langues installées dans mon système. Français et arabe et l'anglais et souhaite l'appeler depuis un label par un Timer.
Exemple :


Fr
pour le francais ou
Ar
pour l'arabe ou
En
pour l'anglais.

J'ai essayé d'ajouter une api :


Private Declare Function
GetSystemDefaultLangID
Lib
"kernel32" ()
As Long


Private Sub
Timer1_Timer()
L_Langue.Caption = System.
Globalization.CultureInfo.InstalledUICulture.ToString()

End Sub



Mais il me fait une erreur :

Erreur d'exécution '424':
Un objet est requis



Pouvez vous m'aider svp ?


Merci d'avance

----------
OS        : Windows XP SP2
Platforme : VB 6.0 + SP6

Ok VB6.0 c'est pas net !

5 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
15 mai 2008 à 13:14
Salut

System.Globalization.CultureInfo.InstalledUICulture.ToString()

C'est du dotnet

Pour du vb6

http://www.vbfrance.com/infomsg_VB6-OS-LANGUAGE-REGIONAL-SETTINGS_1011515.aspx
0
Sinsitrus Messages postés 849 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015
15 mai 2008 à 14:07
Private Declare Function GetSystemDefaultLangID Lib "kernel32" () As Long
Private Declare Function VerLanguageName Lib "kernel32" Alias "VerLanguageNameA" (ByVal wLang As Long, ByVal szLang As String, ByVal nSize As Long) As Long
Private Enum pLang

LangID = 1
LangName = 2
End Enum

Private Function GetSystemLanguage(param As pLang) As String
Dim ID As String
Dim Buffer As String
ID = "&H" & Right(Hex(GetSystemDefaultLangID()), 3)
Select Case param
Case 1
GetSystemLanguage = ID & " / " & CStr(Val(ID))
Case 2
Buffer = String(255, 0)
VerLanguageName CLng(ID), Buffer, Len(Buffer)
Buffer = Left$(Buffer, InStr(1, Buffer, Chr$(0)) - 1)
GetSystemLanguage = Buffer
End Select
End Function



Voilà ce que j'ai pu recopier mais il y'a un problème. Ce n'est pas exactemetn ce que je veux. Je souhaite la langue du clavier en cours... FR ou AR ou EN et quand je change avec Alt+Maj ca change depuis le timer.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
15 mai 2008 à 14:20
encore une question dont la réponse se trouve dans la MSDN

http://msdn.microsoft.com/en-us/library/ms646296(VS.85).aspx

ont lit:
Since the keyboard layout can be dynamically changed, applications that cache information about the current keyboard layout should process the WM_INPUTLANGCHANGE message to be informed of changes in the input language.
0
Sinsitrus Messages postés 849 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015
15 mai 2008 à 18:52
Salut !

Merci mais ca ne m'aide pas trop... J'y arrive tj pas :/

Merci

----------
OS        : Windows XP SP2
Platforme : VB 6.0 + SP6

Ok VB6.0 c'est pas net !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
15 mai 2008 à 22:41
subclasses une fenetre
guette le message WM_INPUTLANGCHANGE

Windows l'envoie a chaque fenetre des que le Layout du clavier change
0
Rejoignez-nous