begin process at 2012 05 28 07:42:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

API : probleme avec choosefont()


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

API : probleme avec choosefont()

jeudi 12 mai 2005 à 20:41:10 | API : probleme avec choosefont()

shaolin78

bonjour,
voila, je m'explique en qq lignes :

le but du jeu est de pouvoir, dans une application style word (que j'ai créée), changer la police de mon texte.
Jusqu'a present j'arrive à parametrer et afficher la boite de dialogue comme ceci :
j'ai un menu dont l'id est : ID_PREF_POLICE
je traite le cas :

case ID_PREF_POLICE :
    police(hWndEdit);       // boite de dialogue choix de la police
          break; 

où hWndEdit est le handle de la fenetre courrante.

plus loin je crée la fonction police() :

void police(HWND hWnd){

    CHOOSEFONT cf;
    LOGFONT    lf;

 GetObject (GetStockObject (SYSTEM_FONT), sizeof (lf), &lf) ;

  cf.lStructSize    = sizeof (CHOOSEFONT) ;
  cf.hwndOwner      = hWnd ;
  cf.hDC            = NULL ;
  cf.lpLogFont      = &lf ;
  cf.iPointSize     = 0 ;
  cf.Flags          = CF_INITTOLOGFONTSTRUCT |
                      CF_SCREENFONTS | CF_EFFECTS ;
  cf.rgbColors      = 0 ;
  cf.lCustData      = 0 ;
  cf.lpfnHook       = NULL ;
  cf.lpTemplateName = NULL ;
  cf.hInstance      = NULL ;
  cf.lpszStyle      = NULL ;
  cf.nFontType      = 0 ;
  cf.nSizeMin       = 0 ;
     cf.nSizeMax       = 0 ;

 ChooseFont(&cf);

}

La boite de dialogue de choix de police apparait, je peux y choisir taille, police,couleur...
mais lorsque je presse ok , rien ne se passe...


J'ai attentivement lu le code http://www.cppfrance.com/code.aspx?ID=9584 kyoko a ce sujet.
Comment et ou utilise t'il la police cree dans hFont ???
j'ai lu dans la doc en 2 min, que il fallait peut etre utiliser un hook... ou appeler la fonction
merci à tout ceux qui auront pris le temps de lire et de me repondre...
toute piste est la bienvenue..

J'avoue ne pas avoir encore vraiment cherché, j'ai lu un peu la doc, sans plus, mais je ne vais pas pouvoir m'y remettre de suite, donc je tente ma chance .. comme je le disais toute piste est la bienvenue

jeudi 12 mai 2005 à 23:11:56 | Re : API : probleme avec choosefont()

thedestiny

Réponse acceptée !
ChooseFont en fait va te renvoyer les valeurs qui ont été séléctionnées pas l'utilisateur.
Ainsi c'est à toi d'après de faire en sorte que la police soit appliquée.

Il faut que hWndEdit soit défini pour l'ensemble de tes fonctions, et la tu fais
HFONT hFont = CreateFont(cf.iPointSize, 0, 0, 0, 0, cf.nFontType, 0, 0, 0, DEFAULT_CHARSET, OUT_CHARACTER_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,FIXED_PITCH|FF_DONTCARE, cf.lpszStyle);
SendWindowMessage(hWndEdit, WM_SETFONT, (WPARAM)hFont, 0);


Tu places tout ca juste après ChooseFoont(); et ca devrait passer :)
En revanche la couleur ne sera pas affichée, car c'est plus complexe me semble-t'il.

Amicalement,
The Destiny
jeudi 12 mai 2005 à 23:28:18 | Re : API : probleme avec choosefont()

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
Pour la couleur, autant faire (obligé?) un autre dialog avec ChooseColor, puis utiliser SetColor, moi c'est comme ca que je fais
samedi 14 mai 2005 à 00:17:29 | Re : API : probleme avec choosefont()

shaolin78

Réponse acceptée !
merci beaucoup pour votre aide, j'ai reussi grace a vos conseils....;)

je voudrais encore poser une chtite question:

grace au sendMessage j'arrive maintenant a modifier la police mais :

il le fait pour tout le document, comment des lors le faire pour le texte selectionne ou le texte qui sera tapé par la suite et cela seulement... sans modifier toute la page...


un grand merci pour vos explications, ca m'a deja bcp aide...

bien a vous,
Sh@o
samedi 14 mai 2005 à 00:57:14 | Re : API : probleme avec choosefont()

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
Si tu utilises un EDIT oublies, et utilise un Rich Edit. Avec un Rich Edit, tu doit utiliser EM_SETCHARFORMAT
samedi 14 mai 2005 à 01:02:19 | Re : API : probleme avec choosefont()

shaolin78

Réponse acceptée !
merci beaucoup de ton aide vecchio56..  je vais tester ca
dimanche 29 mai 2005 à 14:36:10 | Re : API : probleme avec choosefont()

shaolin78

le probleme qui se pose maintenant est qu'il n'applique pas la police souhaitee au texte selectionne. Il me le met en bleu et comme si ct un lien hypertexte, le curseur change en passant dessus.... ou alors il ne fait rien du tout...


Cette discussion est classée dans : id, police, cf, lf, choosefont


Répondre à ce message

Sujets en rapport avec ce message

polices encore et toujours [ par shaolin78 ] 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'util ECRITURE FICHIER LOGFONT [ par lectpe ] Bonjourdans mon application, j'utilise un fenêtre de dialogue de sélection de police d'écriture :VOID SelectMainFont(HWND hwnd, HWND hRichEdit){   Zer Choosefont Win32 API [ par racBoug ] Salut,je programme un textpad. J'essaie de gérer la mise en couleur et l'enregistrement du texte formaté. J'ai essayé de récupérer la font appliquée a taille de fenetre et taille de police ... [ par gahwel ] Bonjour, Je developpe actuellement avec visual eMbedded. Lorsque je veux redimensionner la taille des polices dans un dialog, celui-ci voit sa taille Probléme ID de Menus [ par Zootella ] Hello all; Voilà, dans un programme j'utilise une fonction qui me rajoute toutes les entrées d'une liste box dans le menu da la fenetre principale. [VC++5] police d'une editbox [ par zippro4012 ] C'est sûrement tout bête mais... Comment faire pour modifier la police de caractère d'une éditbox ? Merci de votre aide. SetCheck et PopUpMenu [ par Toutoun13 ] Bonjour, Dans le code suivant j'ai un problème avec un sous menu qui n'est pas checked comme je le voudrais : #define ID_VERSION_LOGICIEL 16000 ON_UP GDI : Charger une police de caractère dans une structure HFONT [ par feanor11 ] J'aimerai charger une police de caractère stockée dans un fichier TTF (chargé dans le programme comme ressource) dans une structure HFONT. Comment fai probleme avec une boite de dialogue [ par anonyme_man_in_this_world ] salut !! ça sera simpa si vous m'aidiez a corriger ce code ******************************************************************************* # Affichage d'un boutton en Win32 [ par Crazy_Joe ] Bonjour à tous, Cela va peut-être vous paraître assez bénin mais je n'arrive pas à afficher un boutton tout simple dans mon application. Voici un bou


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,466 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales