[C/WIN32][VISTA] EXEMPLE D'UTILISATION DES TRANSACTIONS.

Messages postés
286
Date d'inscription
vendredi 5 décembre 2003
Statut
Membre
Dernière intervention
22 avril 2012
-
Messages postés
1243
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/48772-c-win32-vista-exemple-d-utilisation-des-transactions

Messages postés
1243
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
2
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
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
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.
Messages postés
1243
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
2
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 ?
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
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.
Messages postés
286
Date d'inscription
vendredi 5 décembre 2003
Statut
Membre
Dernière intervention
22 avril 2012
2
Très intéressant ! Mais serait-il possible de commenter l'assembler ?