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 :

[VC2005] Problème de décallage de la position du curseur


Sujet :

MFC

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 225
    Par défaut [VC2005] Problème de décallage de la position du curseur
    Salut tout le monde !

    J'ai un soucis avec un contrôle CEdit dans une application en arabe (affichage en RTL).

    Lorsque mon contrôle gagne le focus et qu'il ne contient aucun caractère, le curseur ne s'affiche pas collé sur le bord mais un peu plus loin.

    J'ai regardé sur le forum et certains utilisateurs parlaient de problèmes de fonts qui peuvent introduire un décallage ... mais dans mon cas, le contrôle ne contient aucun caractère mais un décallage est tout de même visible (environ 2 ou 3 caractères ESPACE pour vous donner une idée).

    J'ai aussi vérifié si éventuellement une marge étaient introduite mais les valeurs de retour des méthodes permettant de récupérer la marge sont nulles alors il n'y a pas de marge.

    Je sèche un peu sur mon problème alors si quelqu'un a déjà rencontré des problèmes sur des applications RTL ou même sur le genre de problème que je rencontre je suis preneur de chaque piste.

    Bonne journée à tout le monde.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 225
    Par défaut
    Re bonjour,

    Voici de nouveaux éléments d'information concernant mon problème.

    J'ai une application de type boîte de dialogue et qui ne contient qu'un seul contrôle de type CEdit. Depuis l'éditeur des ressources, il est possible de spécifier le format de la boîte de dialogue, format que je force à RTL (toute l'application s'affiche de droite à gauche comme en arabe). Je compile l'application, l'exécute et constate que le comportement du contrôle CEdit est correct (pas de décallage).

    En conservant la même application, je modifie le format en disant qu'elle n'est plus en RTL (toute l'application s'affiche de gauche à droite comme en français), dans la méthode OnInitDialog j'implémente un code qui parcours tous les fils de ma boîte de dialogue (boîte de dialogue incluse) et qui positionne le style WS_EX_LAYOUTRTL sur chacun d'eux et qui s'occupe d'effectuer un effet mirroir sur tous les contrôles, je compile et exécute l'application. Je constate dans ce cas que le comportement du contrôle CEdit n'est pas correct et correspond à la description que j'en fait dans mon premier message à savoir qu'il y a un décallage.

    Pour le parcours de tous les fils, j'utilise la méthode EnumChildWindows. Pour positionner le style WS_EX_LAYOUTRTL, j'utilise GetWindowLong (je récupère le style courant de chaque contrôle et via l'opérateur |= j'ajoute le style WS_EX_LAYOUTRTL) et SetWindowLong pour positionner le nouveau style.

    Ma question est la suivante ... lorsque j'utilise l'éditeur des ressources pour spécifier le format, ça fonctionne bien mais pour des raisons que je ne peux expliquer, je suis dans l'obligation d'utiliser ma méthode pour configurer mes IHM en RTL. Existe t'il un moyen de déterminer la différence des traitements effectués entre la méthode classique (via l'éditeur des ressources) et ma méthode afin de modifier ma méthode pour qu'elle réalise la même chose et que j'obtienne le même résultat ? Si oui, je suis prenneur de toutes les informations.

    D'avance merci pour votre aide.

    Happy mercredi à toute la compagnie !

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/07/2010, 12h16
  2. [VC2005] Problème de CRT8.0 / vcredist
    Par olive_le_malin dans le forum Visual C++
    Réponses: 1
    Dernier message: 06/02/2008, 16h39
  3. Réponses: 1
    Dernier message: 14/12/2007, 10h28
  4. Problème de position de curseur
    Par ade94 dans le forum Sécurité
    Réponses: 5
    Dernier message: 04/09/2007, 11h00
  5. Problème de liens et de position
    Par Yoshidu62 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 21/06/2006, 17h35

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