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

cs_exar Messages postés 286 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 22 avril 2012 - 23 déc. 2008 à 11:51
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 - 23 déc. 2008 à 19:32
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

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