Salut tatous
Voila, je voudrais savoir s'il est possible de mette mon texte static en vert et en gras, si oui, cé comment ky fo faire.
Merci
Salut tatous
Voila, je voudrais savoir s'il est possible de mette mon texte static en vert et en gras, si oui, cé comment ky fo faire.
Merci
Il faut te créer une font que tu appliques à ton static.
Dans ton .h de ta classe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 CStatic m_mySt ;
Dans le .cpp de ta classe
Pour la couleur, cherche un peu dans les caractéristiques de LOG_FONT.
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 ... //-------------------------------------------------------------- // dans doDataExchange DDX_Control(pDX,IDC_ST_MY_ST, m_mySt) ; .... //-------------------------------------------------------------- // dans la fonction d'initialisation de ta classe/boîte ... ... LOGFONT LogFont_staticTxt ; // récupération de la police en cours de ton static (m_mySt.GetFont())->GetLogFont(&logFont_staticTxt); // modification de la police LogFont_staticTxt.lfWeight=FW_DEMIBOLD; // <-- là c'est le gras LogFont_staticTxt.lfHeight = 30 ; // <-- là c'est la taille sprintf(LogFont_staticTxt.lfFaceName,"Arial") ; // <-- si tu veux changer de police // création d'une police qui contiendra toutes les caractéristiques désirées CFont* pFontNew=new CFont; pFontNew->CreateFontIndirect(&LogFont_staticTxt); // Mise à jour de ton static avec ta nouvelle police m_mySt.SetFont(pFontNew); ...
![]()
Alice
---------------------------------------------------------------
A coeur vaillant, rien d'impossible
cf. Chevalier Bayard
Non pour la couleur il faut définir un handler sur WM_CTLCOLOR :
http://c.developpez.com/faq/vc/?page...#CEditCtlColor
Merci pour cette réponse rapide et précise![]()
Mais j'ai un problème à la compilation:
DDX_Control(pDX,IDC_STATIC, m_mySt) ;
sur cette ligne, le compilo me dit :
error C2065: 'm_mySt' : undeclared identifier
Je vois pourtant bien cette viriable associée a mon static dans le classWizardbizard bizard ....
Ce que tu me montre est pour un Edit, ca marche aussi pour du static ?Envoyé par BertrandA
oui c'est valable pour tous les controles.
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++.
Alors voila,
En suivant ce qui est dit dans le lien, en supprimant les lignes permettant de mettre de la couleur en cas de "READONLY", j'obtient ce code:
Et le compilo me dit sur cette ligne:
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 // CMyEdit CMyEdit::CMyEdit() { CBrush* m_pBrush = NULL; } CMyEdit::~CMyEdit() { delete m_pBrush; } BEGIN_MESSAGE_MAP(CMyEdit, CEdit) //{{AFX_MSG_MAP(CMyEdit) ON_WM_CTLCOLOR_REFLECT() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CMyEdit message handlers HBRUSH CMyEdit::CtlColor(CDC* pDC, UINT nCtlColor) { // TODO: Change any attributes of the DC here m_pBrush = new CBrush(RGB(0,255,0)); pDC->SetBkColor(RGB(0,255,0)); return (HBRUSH)m_pBrush->GetSafeHandle(); // TODO: Return a non-NULL brush if the parent's handler should not be called return NULL; }
ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part delete m_pBrush;
error C2065: 'm_pBrush' : undeclared identifier
Je me demande alors que m_pBrush est défini juste o dessus dans le constructeur, si le compilo n'est pas un couill**![]()
La du coup je n'ai plus d'idée pour avancer ....![]()
re,
tu declares dans ton .h CBrush* m_pBrushReadOnlyEnvoyé par FAQ
et dans le constructeur tu ecris :m_pBrushReadOnly=NULL;
c'est tout .
![]()
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++.
![]()
Le couill** n'est peut être pas toujours le compilo![]()
![]()
Cepandant, même si tout passe à la compilation, je vois toujours mes statics s'afficher en noir, alors que j'ai pourtant mis (0.255.0)
Je ne comprend pas pourquoi ..
bon en plus ton code n'est pas correcte :
maintenant afficher pour toi c'est quoi ?:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 HBRUSH CMyEdit::CtlColor(CDC* pDC, UINT nCtlColor) { // TODO: Change any attributes of the DC here if(!m_pBrush) m_pBrush = new CBrush(RGB(0,255,0)); pDC->SetBkColor(RGB(0,255,0)); return (HBRUSH)m_pBrush->GetSafeHandle(); // TODO: Return a non-NULL brush if the parent's handler should not be called return NULL; }
couleur d'ecriture du texte ,du fond du texte etc...
la on ne touche qu'au background .
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++.
Il faudrait en fait que j'écrive mes statics en vert, gras,
Mais je ne veu pas toucher au backGround.
A mon avis c'est sur cette ligne qu'il faut intervenir:
Mais je ne connais pas la fonction me permettant de modifier la couleur de mes textes statics, pleazz HELP !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part pDC->SetBkColor(RGB(0,255,0));
Je vien de tester ceci:
La fonction SetTextColor semble être celle qui m'intéresse, seulement même si ce code passe a la compilation, lors de l'exécution je ne voi aucun changement ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 HBRUSH CMyEdit::CtlColor(CDC* pDC, UINT nCtlColor) { // TODO: Change any attributes of the DC here if(!m_pBrush) m_pBrush = new CBrush(RGB(0,255,0)); pDC->SetTextColor(RGB(0, 255, 0)); return (HBRUSH)m_pBrush->GetSafeHandle(); // TODO: Return a non-NULL brush if the parent's handler should not be called return NULL; }
N'hésitez pas à me corriger si g une erreur dans ce code. Merci
J'ai enfin réussi à mettre mes static en couleur, (ouf ca avance un peu ...)
Le problème c'est que je n'est pas que mes statics en vert mais tous les textes de ma boitie de dialogue, j'ai bien tenter de voir comment remettre une couleur noir a ma combo, ma listBox et mes editBox, mais je ne trouve pas de fonction capables de réaliser ceci.
Un peu d'aide serait la bienvenue,![]()
Je croi que je doit reformuler ma demande![]()
Est-ce qu'il y a un moyen de régler la couleur uniquement pour mes textes Statics, ainsi que la fonte ?
J'ai l'impression qu'il n'y a pas moyen de modifier la couleur d'un seul contrôle....
mais si ,mais si ,
j'ai pas tout relu le post.
pour affecter une fonte a un controle il suffit de faire SetFont .
pour changer les attributs voir faq:
http://c.developpez.com/faq/vc/?page...CustomFontCtrl
Attention je le redis au cas ou l'objet fonte de la faq ne doit etre local à la fonction mais presistant dans la classe...
![]()
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++.
Il ya une petite chose que je ne comprend pas dans ton lien:
// CFont m_font; // objet local à la classe parent fenetre CDialog,CFormView
Ou faut il que je définisse m_font ?
dans la classe ou est definit ce contrôle (donc sa fenetre parent) ,qui doit etre soit une CDIalog ou une CFormView .
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++.
Hello, je me permet d'intervenir ici car ça m'intéresse aussi.
Si pour la fonte en gras je n'ai eu aucun problème en appliquant la FAQ du lien ci-dessus, ça n'est pas le cas pour la couleur.
J'ai pas l'impression qu'on puisse reprendre exactement la même structure.
Moi j'ai fait ça dans InitDialog(), pourquoi ça ne fait rien?
CWnd * pWnd = GetDlgItem(IDC_STATICRED);
CDC* pDC = pWnd->GetDC();
pDC->SetTextColor(RGB(255,0,0));
Hokagge, apparemment t'as réussi, tu peux dire comment?
Merci![]()
parce que ça ne fonctionne pas comme ça .Envoyé par stof
voir faq:
http://c.developpez.com/faq/vc/?page...#CEditCtlColor
et comme je l'ai dis plus haut l'exemple faq c'est un edit
mais c'est pareil pour les autres controles.
note ces sujets sont expliqués dans mon tuto ...
![]()
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++.
Partager