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 :

Richeditctrl - probl�me de saisie clavier


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    D�cembre 2005
    Messages
    4
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2005
    Messages : 4
    Par d�faut Richeditctrl - probl�me de saisie clavier
    Bonjour � tous,

    Je viens de m'inscrire sur ce forum et fais appel au sp�cialistes MFC de ce forum en �sp�rant y trouver une r�ponse � mon probl�me. J'ai cherch� partout sur le forum et sur le net mais nul part je trouve la r�ponse souhait�e.

    En bref mon probl�me est le suivant :

    Je voudrais cr�er un contr�le CRichEditCtrl pour un dictionnaire Tib�tain. La saisie du Tib�tain se fait au moyen de syllabes romanis�s comme par exemples 'nga', 'kha', ... qui repr�senterais un caract�re unique dans une fonte Tib�taine.

    Donc quand on tape 'nga' il faudrais qu'il y aies un caract�re qui s'affiche dans le contr�le CRichEditCtrl.

    Pourriez-vous m'aider, ou m'aiguiller vers une site qui explique correctement le fonctionnement du CRichEditCtrl ????

    D'avance merci,
    Steph

  2. #2
    Membre confirm� Avatar de lenouvo
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    252
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 252
    Par d�faut
    tu dois surement regarder du cot� d'unicode en utilisant des chaines de caracteres unicode pour pouvoir afficher tes caracteres speciaux

  3. #3
    R�dacteur/Mod�rateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par d�faut
    Quel est ton probl�me exactement ? L'affichage des caract�res ou l'analyse de la saisie pour ensuite afficher le caract�re voulu ?
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas �tre meilleur que les autres, il faut �tre meilleur que soi." Albert Jacquard
    "Ceux qui savent o� ils ont pos� leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, �a vous changera les id�es !
    Ma page Prolog
    Mes codes sources comment�s

    Mon avatar : La Madeleine � la veilleuse de Georges de La Tour

  4. #4
    Futur Membre du Club
    Inscrit en
    D�cembre 2005
    Messages
    4
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2005
    Messages : 4
    Par d�faut
    Tout d'abords merci d'avoir r�pondu ...

    En faite mon probl�me est le suivant :

    J'ai r�ussis � d�vier les entr�es claviers d'un contr�le CRichEditCtrl en utilisant la fonction OnChar du contr�le.

    Apr�s je traite mon caract�re par une fonction qui traduit mon caract�re dans l'�quivalent de la fonte tib�taine. Mais rien ne se passe quand je renvoi le nouveau nChar dans la fonction de la classe de base. Ce seras peut-�tre plus clair avec la partie de code suivante:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    void CTibEditCtrl::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
    {
    	CHARFORMAT2 cf;
    	cf.cbSize = sizeof(CHARFORMAT2);
    	cf.dwMask = CFM_FACE | CFM_SIZE | CFM_COLOR | CFM_WEIGHT;
    	cf.crTextColor = RGB(0,0,255);
    	if(m_nMode == CCE_TIBETAN)
    	{
    		lstrcpy(cf.szFaceName, "TibetanMachine");
    		cf.yHeight = 700;
    		cf.dwEffects = CFE_DISABLED;
    		cf.wWeight = FW_NORMAL;
    	} else {
    		lstrcpy(cf.szFaceName, "Arial");
    		cf.yHeight = 200;
    		cf.dwEffects = CFE_DISABLED;
    		cf.wWeight = FW_NORMAL;
    	}
    	SetWordCharFormat(cf);
     
    	nChar = TranslateKey(nChar); // traitement du caractère
    	CRichEditCtrl::OnChar(nChar, nRepCnt, nFlags);
    }
    Voila voila j'pense avoir r�sum� le mieux possible mon probl�me ...

    merci et @++
    Steph

  5. #5
    R�dacteur/Mod�rateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par d�faut
    Salut
    Comme il est dit dans le MSDN, pour la fonction CRichEditCtrl::SetWordCharFormat :
    Citation Envoy� par MSDN
    Call this function to set the character formatting attributes for the currently selected word in this CRichEditCtrl object.
    Je ne suis pas s�r que lorsque tu traites le OnChar, il y ait un caract�re/mot s�lectionn�.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas �tre meilleur que les autres, il faut �tre meilleur que soi." Albert Jacquard
    "Ceux qui savent o� ils ont pos� leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, �a vous changera les id�es !
    Ma page Prolog
    Mes codes sources comment�s

    Mon avatar : La Madeleine � la veilleuse de Georges de La Tour

  6. #6
    Futur Membre du Club
    Inscrit en
    D�cembre 2005
    Messages
    4
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2005
    Messages : 4
    Par d�faut
    La fonction CRichEditCtrl::SetWordCharFormat fait bien son job : s'il y a un caract�re s�l�ctionn� elle en modifie le style de caract�re et s'il n'y a rien de s�l�ctionn� il modifie tout caract�re suivant ... tout ceci r�ponds parfaitement � mes attentes ...

    Mon probl�me est que j'arrive pas � injecter un nouveau code caract�re dans la fonction OnChar de la classe de base ... j'arrive � r�cup�rer le caract�re tap� mais d�s que j'r�injecte sa version modifi�, il est rejet� et l'ancienne valeur est affich� dans le contr�le.

    Donc si par exemple la caract�re saisi au clavier a le code '0061', ce code caract�re doit �tre modifi� afin de refl�ter son �quivalent en typo Tib�taine ce qui pourrais �tre le code '0078' par exemple. D�s que j'r�injecte '0078' comme valeur pour la fonction OnChar elle est rejet�e et c'est la valeur d'origine qui est utilis�e (0061).

    Steph

Discussions similaires

  1. R�ponses: 4
    Dernier message: 09/10/2015, 17h09
  2. R�ponses: 5
    Dernier message: 22/12/2010, 23h58
  3. Probl�me saisie clavier
    Par PP(Team) dans le forum C++
    R�ponses: 2
    Dernier message: 05/04/2007, 10h56
  4. Probl�me d'�couteur clavier
    Par m@t dans le forum AWT/Swing
    R�ponses: 6
    Dernier message: 19/01/2005, 22h05
  5. Saisie clavier marche pas
    Par Dokho1000 dans le forum Entr�e/Sortie
    R�ponses: 8
    Dernier message: 11/03/2004, 12h16

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