begin process at 2012 05 28 13:24:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

Appliquer Font a toutes les fenetres filles


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

Appliquer Font a toutes les fenetres filles

jeudi 9 décembre 2004 à 22:38:37 | Appliquer Font a toutes les fenetres filles

AlexMAN

Membre Club
Bonsoir,

Je me pose une question : Est il possible d'appliquer une police similaire a toutes les fenetres filles en ne faisant appel qu'a une seule fonction ? Je m'explique : pour le moment, je dois envoyer le message WM_SETFONT a tous les controles, et juste par curiosité, j'aurais aimé savoir si une fonction permettait de faire ceci toute seule..

Merci a tous

+2(p - n)
jeudi 9 décembre 2004 à 23:33:35 | Re : Appliquer Font a toutes les fenetres filles

vecchio56

Administrateur CodeS-SourceS
Salut,
Tu peux utiliser EnumChildWindows, et dans EnumChildProc tu envoie WM_SETFONT à la fenêtre. Ca t'évite au moins de modifier ton code à chaque fois que tu ajoute/supprime un controle
vendredi 10 décembre 2004 à 02:05:33 | Re : Appliquer Font a toutes les fenetres filles

racpp

Administrateur CodeS-SourceS
Salut,
Moi aussi je cherchais une telle fonction mais sans rien trouver. Ce serait très pratique si Microsoft l'ajoutait. Pour appliquer une police à tous les controles d'une fenêtre d'un seul coup, il y'a deux solutions en plus de celle proposée par vecchio56.
1- Les handles de tous les controles sont mis dans un tableau à leur création. Ca rend le code moins lisible mais permet d'envoyer le message à tous ces controles en une seule ligne:
for (int i=0; i<n;i++) SendMessage(hnd[i],WM_SETFONT,.....

n est le nombre total des controles (hdn[n])
2- L'emploi de la fonction GetWindow:
HWND hnd[10];
hnd[0]=GetWindow(hWnd,GW_CHILD);
SendMessage(hnd[0],WM_SETFONT,.......
for (int i=1;i<10;i++)
{
hnd[i]=GetWindow(hnd[i-1],GW_HWNDNEXT);
if (hnd[i]) SendMessage(hnd[i],WM_SETFONT,.......
}

Selon MSDN, EnumChildWindows() est péférable car GetWindow() risque de boucler à l'infini dans certains cas. Ca ne m'est pas encore arrivé donc je ne connais pas ces cas.
vendredi 10 décembre 2004 à 05:10:07 | Re : Appliquer Font a toutes les fenetres filles

racpp

Administrateur CodeS-SourceS
J'ai oublié d'ajouter qu'on peut remplacer GetWindow() par FindWindowEx() comme ceci:

hnd[0]=FindWindowEx(hWnd,0,0,0);//1er_appel
hnd[i]=FindWindowEx(hWnd,hnd[i-1],0,0);//dans_boucle

vendredi 10 décembre 2004 à 19:25:31 | Re : Appliquer Font a toutes les fenetres filles

AlexMAN

Membre Club
Ok merci a tt les 2, mais pour un peu plus d'une demi douzaine de controles, jvais continuer l'envoi systématique de WM_SETFONT, ou je verrais ca ptet plus tard..

Merci encore

+2(p - n)


Cette discussion est classée dans : font, fenetres, seule, filles, appliquer


Répondre à ce message

Sujets en rapport avec ce message

Problème de fenetres [ par Toobad ] Salut tout le monde,J'suis un ptit nouveau dans la programmation Win32 et comme on peut s'en douter pour un nouveau, j'ai un tas de problèmes. J'ai fa police et ListBox [ par JeriKo ] salut à tousça fait 2 heures que j'essaye de changer la police de ma listbox, y a rien à faire ça veut pas :(alors j'ai fait comme çaCListBox *list ouvrir juste une table d'une table sous vc++ [ par f1cobra ] Comment faire pour n'ouvrir qu'une seule table d'une db dao en vc++ ? Car j'ai créé une classe dérivée de cdaorecordset en utilisant toutes les tables plusieur fenetre mais une seule en mémoire... [ par Xs ] Bon, voila.Quand je fais une nouvelle fenetre avec un code ressemblant a ca : hwnd = CreateDialog(...);ShowWindow(hwnd,SW_SHOW);......bon, et bien il [red]AIDEZ MOI !!!!! AU SECOUR !!!!![red] [ par SidSilver ] COMMENT ENVOYER UN MAIL AVEC PIECE JOINTE EN VISUAL C++ 6.0 ??????????? <img src= please help me dx8 [ par bibou75 ] cherche toute personne pouvant me renseigner comment faire pour afficher un buffer pixel qui provient d'une webcam ou d'une carte d'acquisitionje vous Dimentionnement des fenetres ?!? [ par Slider ] BonjourComment peut on faire pour qu'un bouton par exemple reste à la même place quand on redimentionne la fenêtre? Ressources Accelerator en C [ par vow ] Bonjour,Je travaille sur un projet en C (malheureusement).Mon problème vient du fait que je veux utiliser les accelerators (raccourcis touches clavier Ressources Accelerator en C [ par vow ] Bonjour,Je travaille sur un projet en C (malheureusement) sur Visual C++ 6.Mon problème vient du fait que je veux utiliser les accelerators (raccourci question sur programmation linux [ par yolhaiji ] YOL.HAI.JIsalut:je voulais savoir comment sur linux peut on etablir une connexion entre un processus pere et ces deux processus fils avec les pipes (


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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 : 3,666 sec (3)

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