deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 23 déc. 2008 à 19:32
Ha oui daccord, boruillon dans ce sens ^^ . Ba pour la police, mettre tout les HWND dans un tableau et puis parcourire ^^ , mais bon cela ne m'avait pas vraiment choquer de faire ligne par ligne mdr
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 23 déc. 2008 à 19:23
C'est vrai pour la boucle de FindWindowEx(). C'est juste pour compacter le code quand la vitesse n'est pas une priorité. C'est une habitude chez moi. Pour les lignes brouillon il s'agit des blocs mis en commentaires notamment celui de la fonction WinMain() et de la structure MSG.
deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 23 déc. 2008 à 16:26
Merci RACPP , ok pour PoliceTahoma. Mais en se qui concerne l'affectation de la police, avec la boucle tu appel x fois la fonction FindWindowEx alors que ce n'est pas vraiment nécessaire, de plus si jamais il y a des controle ou tu ne veux pas affecter la police ... . Sinon des lignes boruillon ? lesquelles ?
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 23 déc. 2008 à 16:00
Salut,
Merci pour l'exemple. Je ne savais pas que ces APIs existaient. Elles serviront certainement un jour.
Remarques:
Il est préférable de ne pas déclarer la police PoliceTahoma pendant le traitement de WM_CREATE. La déclarer plutôt en static à l'entrée de AppWndProc() permettra de la détruire avec DeleteObject() suite du WM_DESTROY.
Tu peux économiser une dizaine de lignes de code en utilisant une boucle pour affecter cette police à tous les controles:
HWND child=0;
while(child=FindWindowEx(hwnd,child,0,0)) SendMessage(child,WM_SETFONT,(WPARAM)PoliceTahoma ,0);
Le code contient des lignes brouillon qu'il convient d'enlever.
Exar >> Tu peux remplacer la fonction myWinMain() écrite en assembleur par un classique WinMain() en C. Elle contiendra un appel à InitInstance() suivi de la boucle des messages. Ce genre de point d'entrée comme myWinMain() permet d'accélérer le démarrage de l'application et de minimiser la taille de l'exécutable en évitant la CRT.
Bonne continuation.
cs_exar
Messages postés286Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention22 avril 20121 23 déc. 2008 à 11:51
Très intéressant ! Mais serait-il possible de commenter l'assembler ?
23 déc. 2008 à 19:32
23 déc. 2008 à 19:23
23 déc. 2008 à 16:26
23 déc. 2008 à 16:00
Merci pour l'exemple. Je ne savais pas que ces APIs existaient. Elles serviront certainement un jour.
Remarques:
Il est préférable de ne pas déclarer la police PoliceTahoma pendant le traitement de WM_CREATE. La déclarer plutôt en static à l'entrée de AppWndProc() permettra de la détruire avec DeleteObject() suite du WM_DESTROY.
Tu peux économiser une dizaine de lignes de code en utilisant une boucle pour affecter cette police à tous les controles:
HWND child=0;
while(child=FindWindowEx(hwnd,child,0,0)) SendMessage(child,WM_SETFONT,(WPARAM)PoliceTahoma ,0);
Le code contient des lignes brouillon qu'il convient d'enlever.
Exar >> Tu peux remplacer la fonction myWinMain() écrite en assembleur par un classique WinMain() en C. Elle contiendra un appel à InitInstance() suivi de la boucle des messages. Ce genre de point d'entrée comme myWinMain() permet d'accélérer le démarrage de l'application et de minimiser la taille de l'exécutable en évitant la CRT.
Bonne continuation.
23 déc. 2008 à 11:51