Polices encore et toujours

Résolu
shaolin78 Messages postés 15 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 2 juin 2005 - 29 mai 2005 à 14:15
shaolin78 Messages postés 15 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 2 juin 2005 - 29 mai 2005 à 17:21
bonjour, ben voila je reviens avec mon probleme de police,
J'ai créé une application, editeur de texte multi fenetre et je souhaite permettre a l'utilisateur de choisir la police de son choix. Pour ce faire j'utilise choosefont(); et setcharformat...mais le probleme c'est que il ne ma'applique pas la police choisie, il me met le texte selectionné en bleu et lorsque je passe par dessu avec la souris, c'est comme un lien hypertexte, j'ai le curseur qui se change en doigt...Je mets mon code :
merci a ceux qui jetteront un chti coup d'oeil...

case ID_EDITER_POLICE :
police(hWndEdit);

...


void police(HWND hWndEdit)
{
CHOOSEFONT cf; // Structure common dialog
LOGFONT lf; // Paramètre LOGFONT
HFONT hfont;

// Initialisation de la Structure CHOOSEFONT
cf.lStructSize = sizeof (CHOOSEFONT);
cf.hwndOwner = hWndEdit;
cf.lpLogFont = &lf;
cf.Flags = CF_SCREENFONTS;
ChooseFont(&cf);
//hfont = CreateFontIndirect (cf.lpLogFont);
SendMessage(hWndEdit,EM_SETCHARFORMAT,SCF_SELECTION,(LPARAM)&cf.lpLogFont);
}

9 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
29 mai 2005 à 17:15
Tu te documente sur MSDN et tu remplis ce qu'il faut, ce n'est pas compliqué!
3
shaolin78 Messages postés 15 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 2 juin 2005
29 mai 2005 à 14:16
case ID_EDITER_POLICE :
police(hWndEdit);

...


void police(HWND hWndEdit)
{
CHOOSEFONT cf; // Structure common dialog
LOGFONT lf; // Paramètre LOGFONT
HFONT hfont;

// Initialisation de la Structure CHOOSEFONT
cf.lStructSize = sizeof (CHOOSEFONT);
cf.hwndOwner = hWndEdit;
cf.lpLogFont = &lf;
cf.Flags = CF_SCREENFONTS;
ChooseFont(&cf);
//hfont = CreateFontIndirect (cf.lpLogFont);
SendMessage(hWndEdit,EM_SETCHARFORMAT,SCF_SELECTION,(LPARAM)&cf.lpLogFont);
}
0
shaolin78 Messages postés 15 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 2 juin 2005
29 mai 2005 à 14:17
desole pour la presentation du code, c pas tres lisible...
un enorme merci a ceux qui vont qd mm se pencher dessus
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
29 mai 2005 à 14:39
Est ce que dans dwMask de CHARFORMAT tu as bien mis CFM_FACE, et copié le nom de police dans szFaceName?

Pour les URLs, essaie d'envoyer EM_AUTOURLDETECT avec wParam=FALSE
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
shaolin78 Messages postés 15 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 2 juin 2005
29 mai 2005 à 16:15
y a qqch que je ne comprends des lors pas :

moi la seule chose que je fait dans mon code c'est de parametriser ma boite de dialogue choosefont..je l'appelle et
ensuite je fais un sendmessage em_setcharformat...

dois je aussi declarer un charformat? et y copier les param de ma choosefont???
comment dois je faire?
0
shaolin78 Messages postés 15 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 2 juin 2005
29 mai 2005 à 16:20
tu n'aurais pas un exemple?
la je nage!!!
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
29 mai 2005 à 17:02
Tu vois bien, quand tu envoies EM_SETCHARFORMAT, lParam doit contenir
un ptr vers une structure CHARFORMAT. Toi tu envoie une strcture
CHOOSEFONT, ce n'est pas bon
0
shaolin78 Messages postés 15 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 2 juin 2005
29 mai 2005 à 17:08
oui, mais comment donner les params de ma choosefont a un charformat....?
0
shaolin78 Messages postés 15 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 2 juin 2005
29 mai 2005 à 17:21
mwais;;;

merci
0
Rejoignez-nous