IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API, COM et SDKs Delphi Discussion :

[Langue Clavier] Comment détecter le changement de la langue ?


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre actif Avatar de Fares BELHAOUAS
    Homme Profil pro
    Développeur Flex & Java
    Inscrit en
    Mars 2002
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Flex & Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 182
    Points : 252
    Points
    252
    Par défaut [Langue Clavier] Comment détecter le changement de la langue ?
    Salem Tout le monde,

    Je suis entrain de développer un programme qui manipule les deux langues, français et arabe. Dans mon programme, je peux controler le type de clavier en utilisant "ActivateKeyboardLayout", mon problème est comment pouvoir detecter que l'utilisateur a changer la langue du clavier à partir de la barre des taches, donc à partir du système. Est ce qu'il y a un message windows ou bien je dois boucler avec un timer pour tester à chaque fois quel est le type de clavier courant ?

    Choukrane.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 298
    Points : 318
    Points
    318

  3. #3
    Membre actif Avatar de Fares BELHAOUAS
    Homme Profil pro
    Développeur Flex & Java
    Inscrit en
    Mars 2002
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Flex & Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 182
    Points : 252
    Points
    252
    Par défaut
    Salem cpdump,

    Merci beaucoup, j'ai pu grace à ton aide trouver la solution suivante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    procedure TForm1.MessageHandler(var Msg : TMsg; var Handled : boolean);
    begin
     if (Msg.Message = WM_INPUTLANGCHANGEREQUEST) then
       begin
        Caption := 'MessageHandler: WM_INPUTLANGCHANGEREQUEST: '+
         DateTimeToStr(Now) ;
       end; // if
    end;
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
     Application.OnMessage := MessageHandler ;
    end;
    Choukrane encore une fois.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 298
    Points : 318
    Points
    318
    Par défaut
    Tu peux aussi déclarer une méthode de message dans ta form, c'est peut-être plus simple à gérer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    private
       procedure WMInputLangChangeRequest(var Message: ???); message WM_INPUTLANGCHANGEREQUEST;
    ....

  5. #5
    Membre actif Avatar de Fares BELHAOUAS
    Homme Profil pro
    Développeur Flex & Java
    Inscrit en
    Mars 2002
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Flex & Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 182
    Points : 252
    Points
    252
    Par défaut
    Salem cpdump,

    J'ai déjà essayé et ça ne marche pas quand la forme contient un Control qui a le focus. car je crois que le message est envoyé vers celui-ci au lieu d'être envoyé vers la fiche.

    Avec ma solution, je traite tous les messages qui passent par l'application c'est mieux que de la limité à une seule fiche de mon programme, ou de la dupliquer pour toutes les fiches.

    Merci quand même,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Lazarus] Comment détecter le changement d'un TEdit
    Par weberick dans le forum Lazarus
    Réponses: 5
    Dernier message: 22/11/2008, 09h33
  2. Réponses: 2
    Dernier message: 16/07/2008, 08h41
  3. [M1][W1][N1][D1] Comment détecter un changement de résolution?
    Par jazz matazz dans le forum Contribuez
    Réponses: 6
    Dernier message: 04/03/2006, 21h20
  4. Comment détecter un changement du réglage de voume sonore ?
    Par mjlub dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 09/01/2004, 17h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo