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

MFC Discussion :

CDialog et les langages RTL.


Sujet :

MFC

  1. #1
    Membre du Club
    Inscrit en
    Juin 2003
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 8
    Par défaut CDialog et les langages RTL.
    Bonjour à tous,

    Je dois développer une application pour "la planète entière", c'est-à-dire, paramétrable pour que le texte de ses menus, ses boutons et autres s'affiche dans la langue voulue.

    En lançant le programme, on selectionne la langue utilisée.
    [MonApp.exe /lang:French] montre une application tout en français. De la même manière, on peut la lancer en Anglais, en Allemand, en Italien... et même en Coréen, en Japonais, en Chinois... (L'Unicode est mon ami...)

    Mon dernier problème vient des langues RTL (Right-to-Left) que sont l'Arabe et l'Hébreu.

    Je n'ai pas de soucis avec mes fenêtres en général. Mais il me reste des petits soucis :

    Y'a-t-il un moyen de "basculer" mes objets dérivés de CDialog à l'exécution ? (Ou l'unique solution est de faire un jeu "Mirrored" et un jeu "Non-Mirrored" avec WS_EX_LAYOUT_RTL )

    J'ai fait le tour de la question chez Microsoft et c'est là la seule solution.

    Quelqu'un aurait-il eu un jour à réflechir sur la question ? Auquel cas, sa réponse est la bienvenue.

    Cordialement.

    BlaBla.

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowfeatures.asp
    After a window has been created, you change the layout using the SetWindowLong function. For example, this is necessary when the user changes the user interface language of an existing window from Arabic or Hebrew to German.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre du Club
    Inscrit en
    Juin 2003
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 8
    Par défaut CDialog et les langages RTL.
    Merci pour ce lien.

    J'avais déjà joué avec la fonction SetWindowLong mais elle ne "retournait" que la fenêtre et non pas l'ensemble ; les différents boutons et autres n'héritant pas du style pour les boîtes de dialogue dans cette configuration (cad à l'execution).

    Ton petit post m'a motivé dans la bonne direction.

    Je me suis donc lancer dans le "mirroring" des objets de ma fenêtre en faisant pour chacun d'entre-eux un SetWindowLong.

    Malheureusement, mes boutons, mes statics (...) sont bien "retournés" mais toujours à la même place.

    J'ai donc dû les déplacer un par un et pour être sûr de n'en oublier aucun, j'ai fait un petit EnumChildWindows avec du MapWindowPoints
    dans mon Callback, ça marche tout seul.

    Merci encore pour ce petit coup de pouce.

    BlaBla.

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    De rien.

    Un petit clic sur ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre du Club
    Inscrit en
    Juin 2003
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 8
    Par défaut
    Je cherchais le bouton Résolu...

    On m'a dit en bas, à gauche et c'est là que je l'ai trouvé.

    BlaBla.

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

Discussions similaires

  1. Informations sur les langages/outils de ce forum
    Par Idelways dans le forum Autres langages
    Réponses: 3
    Dernier message: 14/02/2018, 12h08
  2. [Débat] Les langages que tout programmeur doit connaître
    Par kisitomomotene dans le forum Langages de programmation
    Réponses: 33
    Dernier message: 19/09/2005, 07h36
  3. Un logiciel qui traduit les langages évolués vers l'asm
    Par Cygnus Saint dans le forum Assembleur
    Réponses: 6
    Dernier message: 13/06/2005, 09h02
  4. Les Langages ne sont pas tous les mêmes ......
    Par Max Payne dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 28/08/2003, 13h51
  5. Benchmark entre les langages
    Par El blérot dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 27/12/2002, 01h22

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