Re:Comment appliquer une police et une couleur à un contrôle ?
marcel6566
Messages postés25Date d'inscriptionmercredi 2 avril 2003StatutMembreDernière intervention17 octobre 2006
-
23 sept. 2003 à 01:07
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
23 sept. 2003 à 08:51
rebonjour et merci pour l'aide, mais ...
Toujours pas de modification de police, fonte, couleur dans le controle Edit.
Une partie de mon programme :
void CAffiche::OnButton1()
{
...
// Création de la police
HFONT Gras = CreateFont(15,15,0,0,900,1,1,0,0,0,0,0,0,"arial");
// Application de la police sur l'edit
SendMessage(IDC_EDIT1, WM_SETFONT, (WPARAM)Gras, MAKELPARAM(TRUE, 0));
m_edit1=mot;
UpdateData (FALSE);
...
}
j'obtiens ce message d'erreur :
error C2660: 'SendMessageA' : function does not take 4 parameters
Si je retire MAKELPARAM(TRUE, 0), le programme est lancé, mais aucune modification d'Edit.
Message d'origine:
Je suis instit et pour mes élèves de CP, je réalise un petit programme sur le thème du livre de lecture RATUS.
Cependant, je ne sais pas comment modifier la police de caractère, la taille et le couleur à l'interieur d'un seul contrôle "Edit".
Merci pour votre aide.
Réponse :
Pour changer la police, taille, gras, souligné et otr :
// Création de la police
HFONT Gras = CreateFont(14,5,0,1,FW_BLACK,FALSE,FALSE,FALSE,DEFAULT_CHARSET,
OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_DECORATIVE,"Perso");
// Application de la police sur l'edit
SendMessage(EditHandle, WM_SETFONT, (WPARAM)Gras, MAKELPARAM(TRUE, 0));
Voila, tu n'as qu'a modifier tt ce que tu veu pour arriver a tes fins, par contre, ds un edit, un changement se fait sur TOUT le texte, et pas seulement sur une portion de texte
voila, @+
A voir également:
Re:Comment appliquer une police et une couleur à un contrôle ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 23 sept. 2003 à 08:51
HFONT Gras est local a la fonction donc mort en sortie, par contre il y a bien fuite de memoire !!!
Mets HFONT Gras dans le h de la classe, ininialise le dans le constructeur. Le destructeur doit avoir DeleteObject(Gras);
Regarde si le sabir mfc inclut SendDlgItemMessage.
Si oui:
SendDlgItemMessage(IDC_EDIT1, WM_SETFONT, (long)Gras, 1);
et devrait aller.
BruNews, ciao...