Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : [api] Définir une police pour toute la fenêtre [ Archives / API ] (hoGan)

mercredi 2 novembre 2005 à 20:02:18 | [api] Définir une police pour toute la fenêtre

hoGan

Bonjour,
tout est dans le titre: j'aimerais définir moi-même une police par défaut; comment faire?

sinon, est-ce que quelqu'un sait m'expliquer comment utiliser WM_SETFONT ?
j'ai vaguement tenté ceci, sans résultat ^^ :
SendMessage( handle_combobox , WM_SETFONT , 0 , (LPARAM)"Tahoma" );
... je suppose que WM_SETFONT doit être traité dans LRESULT CALLBACK WindowProcedure(), mais je ne vois pas comment :(

mercredi 2 novembre 2005 à 22:20:02 | Re : [api] Définir une police pour toute la fenêtre

AlexMAN

Membre Club
Réponse acceptée !
Il faut passer en wparam un handle sur une font prealablement créée par un appel a CreateFont() ou CreateFontIndirect(). 

+2(p - n)

jeudi 3 novembre 2005 à 03:39:45 | Re : [api] Définir une police pour toute la fenêtre

racpp

Administrateur CodeS-SourceS
Salut,
Pour créer une police tu fais par exemple:
HFONT police = CreateFont(26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "Tahoma");

Pour appliquer cette police à tous les controles enfants de la fenêtre tu fais:
HWND enfant=GetWindow(hWnd,GW_CHILD);
do
{
    SendMessage(enfant,WM_SETFONT,(WPARAM)police,0);
    enfant=GetWindow(enfant,GW_HWNDNEXT);   
}while (enfant);

Pour supprimer cette police là où ton programme n'en a plus besoin tu fais:
DeleteObject(police);



jeudi 3 novembre 2005 à 10:59:21 | Re : [api] Définir une police pour toute la fenêtre
jeudi 3 novembre 2005 à 11:09:06 | Re : [api] Définir une police pour toute la fenêtre

hoGan

:O
par contre raccp, ton code ne marche pas


jeudi 3 novembre 2005 à 14:59:42 | Re : [api] Définir une police pour toute la fenêtre

racpp

Administrateur CodeS-SourceS
Voici un aperçu de ce que tu dois faire:
LRESULT CALLBACK WndProc(HWND hWnd, ............. )
{
    static HFONT police;
    //............
    case WM_CREATE:
       //.............
       // Tous les controles doivent être déjà créés

      
police = CreateFont(26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "Tahoma");
      
HWND enfant;
       enfant=GetWindow(hWnd,GW_CHILD);
       do
       {
            SendMessage(enfant,WM_SETFONT,(WPARAM)police,0);
            enfant=GetWindow(enfant,GW_HWNDNEXT);   
       }while (enfant);
     // .........
    break;

    case WM_CLOSE:
    DeleteObject(police);
    //.........
    break;
}
Normalement ça doit marcher.


jeudi 3 novembre 2005 à 18:49:07 | Re : [api] Définir une police pour toute la fenêtre

hoGan

ok c'est parfait !
merci beaucoup




Cette discussion est classé dans : wm, api, police, définir, setfont


Répondre à ce message

Sujets en rapport avec ce message

C - WIN32 API - [ par philip63 ] Bonjour,Mon service tourne sousW2k en Local System; il est non-interactif (Service-0x0-3e7$\Default). Aprés avoir testé l'absence du Shell par defaut API :: WM_NCMOUSELEAVE >> error C2065: 'WM_NMOUSELEAVE' : undeclared identifier [ par JackosKing ] Pourquoi j'ai ce message d'erreur alors que le WM figure bien sur msdn..JackosKing For EvEr Police Windows par défaut - API Windows [ par banane_rose ] salut ! SelectObject(hDc, Police); Police fait référence à une police que j'ai crée , comme WM_SETFONT et taille de charactere [ par glipper ] Bonjour,je voudrais changer la police et la taille des characteres dans une edit box. J'ai fait ceci dans mon InitDialog, mais ça n'a aucun effet. Je police, style,etc...[API] [ par Xs ] salut !!je voudrais savoir avec quelle fonction API on change la taille, le style, la police, etc.. d'un texte.Y compris et surtout la couleur !!!j'ai [api] Image qui s'efface [ par hoGan ] Bonjour, voilà ce que je voudrais faire: lorsque j'appuie sur un bouton, faire apparaître une image, et faire en sorte que celle-ci ne disparaisse pa API Windows, gestion de WM_COMMAND [ par coucou_le_minou ] Bonjour, tout d'abord pardonnez moi si mon message ne correspond pas a la rubrique choisie, j'ai eu quelques soucis a cerner la categorie de mon probl Libération de mémoire (C API Win32) [ par ndubien ] Bonjour,Je me pose la question suivante:Faut-il libérer un HBITMAP avant de le réinitialiser?Si oui, comment?Merci d'avance et à bientôt... DTM_SETSYSTEMTIME en API [ par Toune34 ] Bonjour,Premier post sur ce forum, donc j'en profite pour féliciter tous les personnes qui font vivre ce forum très complet et qui m'a permis de me so API menu [ par snpier wolf ] bonjours tous,savez vous commant fair un menu en api windows qui change de nom quand on a cliqué dessus?


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.