Salut,
je cherche a écrire du texte dans un CDC verticalement C'est possible ?
Sinon comment faire pour faire une rotation du CDC ?
Merci
Salut,
je cherche a écrire du texte dans un CDC verticalement C'est possible ?
Sinon comment faire pour faire une rotation du CDC ?
Merci
oui c'est possible,
voir faq:
http://c.developpez.com/faq/vc/?page...s#VerticalFont
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Arf j'ai du mal avec la FAQ désolé ... je cherche jamais au bon endroit.
Merci !
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.
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 ?
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Voici ma fonction :
rect = rectOK
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; }
merci de ton aide ...
tu peut essayer sans :
lf.lfItalic=1;
lf.lfStrikeOut=1;
le nom de ta fonte ? tu ne me l'a pas dit .
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
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.
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");
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
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 ....Envoyé par ouquoi
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
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.
ton systeme de coordonnées n'est pas inversé sur les y .?
essaye de dessiner un rectangle pour visualiser ta surface .
(CDC::Rectangle )
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Mon rectangle couvre bien la zone voulue.
si je fais un TextOut ca marche mais un drawtext je vois juste une bar.
c normal que je sois obliger de faire avec un textout ?
c'est bizarre ...
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager