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 :

[MFC] Drawtext vertical


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    56
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 56
    Par d�faut [MFC] Drawtext vertical
    Salut,
    je cherche a �crire du texte dans un CDC verticalement C'est possible ?

    Sinon comment faire pour faire une rotation du CDC ?

    Merci

  2. #2
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    56
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 56
    Par d�faut
    Arf j'ai du mal avec la FAQ d�sol� ... je cherche jamais au bon endroit.
    Merci !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    56
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 56
    Par d�faut
    heu ca marche pas ...
    et dans l'aide msdn il y a ca :
    The DrawText function supports only fonts whose escapement and orientation are both zero.

  5. #5
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    je peux t'assurer que �a fonctionne j'utilise ce systeme dans un ActiveX.
    les coordonn�es de ton rectangle sont correctes ?
    Quelle est la fonte utilis�e ?
    Comment tu l�as initialis�e ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    56
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 56
    Par d�faut
    Voici ma fonction :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    HBITMAP CUtils::CreateImageTexte(CDC *pDC,CFont *pFont,CString csTexte,RECT rect)
    	CDC dc;
    	RECT rectOk;
    	rectOk.left = 0;
    	rectOk.top = 0;
    	rectOk.right = 42;
    	rectOk.bottom = 100;
     
     
     
    	dc.CreateCompatibleDC( pDC );
     
    	HBITMAP hbmResult = ::CreateCompatibleBitmap(pDC->m_hDC, 42, 100);
    	HBITMAP hbmOldSource = (HBITMAP)::SelectObject( dc.m_hDC, hbmResult);
     
    // reglage de la fonte en mode vertical:
    LOGFONT lf;
     
    //1 récupération des paramètres d'une CFont ou d'une fenêtre  
    VERIFY(pFont->GetLogFont(&lf));
     
    // 2 changement des valeurs
    lf.lfEscapement=900;
    lf.lfOrientation=900;
    lf.lfItalic=1;
    lf.lfStrikeOut=1;
     
    // Création de la nouvelle fonte
    CFont FontVert;
    VERIFY(FontVert.CreateFontIndirect(&lf));
    CFont *pOldFont=dc.SelectObject(&FontVert);
     
    // Affichage final d'une chaîne stext, dans le rectangle rectText calculé au préalable bien sur.
    UINT nFormat=DT_LEFT|DT_SINGLELINE;
    	dc.SetTextColor(RGB(255,255,255));
    	dc.SetBkColor(RGB(255,0,0));		
    	dc.SetBkMode(TRANSPARENT);
    	dc.DrawText(csTexte,&rect,nFormat|DT_CALCRECT);
     
    	return hbmResult;
     }
    rect = rectOK

    merci de ton aide ...

  7. #7
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    tu peut essayer sans :
    lf.lfItalic=1;
    lf.lfStrikeOut=1;
    le nom de ta fonte ? tu ne me l'a pas dit .


  8. #8
    Membre averti
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    56
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 56
    Par d�faut
    j'ai enlever ce que tu me dis mais ca change rien.
    ma font est : Ms Sans Serif.
    ca a une importance la font ?

    A noter que si j'enleve le "DT_CALCRECT" je vois le texte mais toujours en horizontal.

  9. #9
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    ben oui ,ce n'est pas une fonte true type !
    je ne pense pas que �a fonctionne avec ce type de fonte.
    essaye avec courier new par exemple.
    exemple d'init logfont:
    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
     
        lg.lfHeight=-12;   
        lg.lfWidth=0;
        lg.lfEscapement=0;
        lg.lfOrientation=0;
        lg.lfWeight=400;
        lg.lfItalic=0;
        lg.lfUnderline=0;
        lg.lfStrikeOut=0;
        lg.lfCharSet=0;
        lg.lfOutPrecision=3;
        lg.lfClipPrecision=2;
        lg.lfQuality=1;
        lg.lfPitchAndFamily=49;
        strcpy(lg.lfFaceName,"Courier New");

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    56
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 56
    Par d�faut
    bon je vois bien le texte avec le param�trage que tu m'as donn�e mais des que je mais 900 en orientation et escapement ben je vois plus le texte.
    j'ai pas un probleme avec mon RECT ?

  11. #11
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    Citation Envoy� par ouquoi
    bon je vois bien le texte avec le param�trage que tu m'as donn�e mais des que je mais 900 en orientation et escapement ben je vois plus le texte.
    j'ai pas un probleme avec mon RECT ?
    il faut bien s�r qu'il repr�sente une surface verticale ....

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    56
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 56
    Par d�faut
    rectOk.left = 0;
    rectOk.top = 0;
    rectOk.right = 42;
    rectOk.bottom = 100;

    C'est bien vertical ca ?

    En fait je vois un tout petit bout de texte (une ligne de pixel) tout en haut de mon rect.

  13. #13
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    ton systeme de coordonn�es n'est pas invers� sur les y .?
    essaye de dessiner un rectangle pour visualiser ta surface .
    (CDC::Rectangle )


  14. #14
    Membre averti
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    56
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 56
    Par d�faut
    Mon rectangle couvre bien la zone voulue.
    si je fais un TextOut ca marche mais un drawtext je vois juste une bar.

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    56
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 56
    Par d�faut
    c normal que je sois obliger de faire avec un textout ?

  16. #16
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    c'est bizarre ...

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    R�ponses: 8
    Dernier message: 08/06/2005, 15h57
  2. MDI sans MFC, possible ?
    Par delire8 dans le forum MFC
    R�ponses: 4
    Dernier message: 17/06/2002, 07h38
  3. [MFC](encapsulation ADO) ou placer le code
    Par philippe V dans le forum MFC
    R�ponses: 2
    Dernier message: 13/06/2002, 14h58
  4. R�ponses: 2
    Dernier message: 10/06/2002, 11h03
  5. [MFC] ADO connection
    Par philippe V dans le forum MFC
    R�ponses: 3
    Dernier message: 10/06/2002, 07h36

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