Accueil > Forum > > > > Win Api en C :Un curseur trop lourd ? Pourquoi ?
Win Api en C :Un curseur trop lourd ? Pourquoi ?
vendredi 25 août 2006 à 07:55:29 |
Win Api en C :Un curseur trop lourd ? Pourquoi ?

acryline
|
Bonjour, Je suis toujours dans ma petite application (voir un petit peu plus bas) et tout fonctionne bien, même quand je change de curseur. En général les curseurs que j'utilise font entre 1 et 7ko. Mais je viens de tester un curseur animé (ani) de 33 ko. Et là tout plante. Mon programme fonctionne un petit moment, et au fur et à mesure des sélections de boutons, menus, il se ralentit puis plante joyeusement.... Je pense à une surcharge de la mémoire c'est sûr, mais pourquoi avec ce surseur et pas avec les autres ? Pour info, j'ai veillé à bien tout supprimer les HDC, HWND etc .. dont je n'avais plus besoin. Votre avis ? Merci !  
|
|
vendredi 25 août 2006 à 08:24:44 |
Re : Win Api en C :Un curseur trop lourd ? Pourquoi ?

acryline
|
Bon en fait ça me fait ça avec tous les curseurs mais avec les plus légers ça mets plus de temps...  Il doit y avoir une perte de mémoire qq part maizou ?? Le programme est très fluide au début et à force l'affichage prend de plus en plus de temps et au final ça plante. Je viens d'utiliser Destroy curseur quand je change de curseur ce que je n'avais pas fait mais ça ne change rien .... si vous avez un conseil il est le bienvenu... sinon suite au prochain épisode je cherche la fuite ! 
|
|
vendredi 25 août 2006 à 09:52:38 |
Re : Win Api en C :Un curseur trop lourd ? Pourquoi ?

acryline
|
Bon j'ai mis les ZeroMemory partout ça n'a servit à rien... J'ai regardé dans le gestionnaire des tâches de Windows.. Quand je démarre l'exécutable, il n'apparaît pas ans les appications mais dans les processus et la mémoire utilisée ne dépasse jamais 2200ko. (Le processeur monte à 40). Mais toujours et encore si je clique plus de 40 fois sur un bouton, je perds ma souris (que pour l'application, heureusement ), la vitesse d'affichage augmente et enfin ça plante...
|
|
vendredi 25 août 2006 à 13:49:51 |
Re : Win Api en C :Un curseur trop lourd ? Pourquoi ?

acryline
|
Bon voici mon code ici Bon c'est pas joli comme ça devrait mais je 'nai pas envoyé les images. On peut mettre celles qu'on veut en fait mais il faut respecter les dossiers du début dans main.c et prendre les bonne extensions (cur, ani et bmp) Voila si qq'un pouvait me répondre ça serait sympa. Merci
|
|
vendredi 25 août 2006 à 16:07:51 |
Re : Win Api en C :Un curseur trop lourd ? Pourquoi ?

acryline
|
Réponse acceptée !
J'ai trouvé ce qui ne marchait pas si ça interesse quelqu'un ? J'ai un tableau de 70 boutons et comme j'avais modifié le curseur de l'application il fallait que je le fasse aussi de façon séparée pour les autres fénêtres donc pour les boutons et j'ai ecrit ceci : case WM_CHANGERCURSEUR: //Modifier le curseur.des boutons for (i=0;i<70;i++) { SetClassLong(hBouton[i], //handle d'un bouton GCL_HCURSOR, (long int)LoadCursorFromFile (curseur)); } return 0; Donc chaque fois qu'il fallait redessiner les boutons le programme passait sur la boucle... et c'etait fréquent ! J'ai essayé de ne définir que le bouton 0 et miracle ça marche le curseur s'affiche aussi sur tous les autres boutons. ce qui donne : <code type="c"> case WM_CHANGERCURSEUR: //Modifier le curseur.des boutons SetClassLong(hBouton[0], //handle d'un bouton GCL_HCURSOR, (long int)LoadCursorFromFile (curseur)); return 0; </code> Je ne sais pas pourquoi mais ça marche ! 
|
|
vendredi 25 août 2006 à 17:56:30 |
Re : Win Api en C :Un curseur trop lourd ? Pourquoi ?

BruNews
|
Réponse acceptée !
La classe BUTTON est unique donc normal qu'il en soit ainsi.
Faut aussi libérer la mémoire. HCURSOR hAni; .... if(hAni) {DestroyCursor(hAni); hAni = NULL;} hAni = LoadCursorFromFile(curseur); SetClassLong(hBouton[0], GCL_HCURSOR, (long) hAni);
ciao... BruNews, MVP VC++
|
|
vendredi 25 août 2006 à 18:12:47 |
Re : Win Api en C :Un curseur trop lourd ? Pourquoi ?

acryline
|
Oui mais on y pense pas tout de suite malheureusement  .
|
|
Cette discussion est classée dans : curseur, api, trop, win, lourd
Répondre à ce message
Sujets en rapport avec ce message
api winsock [ par palini ]
Je ne connais pas l'API sous win NT4 qui permet de connaitrela configuration totale de votre machine au niveau du réseau(la commande ipconfig /all)J'a
API OpenSSL (doc?) [ par neoTHGLF ]
Bonjour, Je cherche désespérément depuis plusieurs mois de la documentation en Français de préférence sur la manipulation de l'API openSSL. Une docum
C++ : trop lourd ? [ par guiguikun ]
Cela fait quelques mois que je suis passé du C pur et dur au C++.Plus je programme objet et plus je me pose les mêmes questions...Ok c'est bien pratiq
filtrage sur une Edit box - API Win 32 [ par chrcharles ]
Bonjour,Je cherche comment filtrer les caratères frappés dans une Edit box. Cette Edit box doit recevoir que des chiffres compris entre par exemple -1
MFC / API Win 32 / Open Gl... [ par bubbless ]
Bonjour à tous !Programmant en C++, je suis actuellement devant un dilemme : quel langage choisir pour l'interface ? J'ai programmé un peu l'année der
Win API - Tree Control - Comment effacer ? [ par k_n1 ]
Salut, j'ai une question qui va surement vous paraitre relativement simple mais sur laquelle je bloque, sans reussir a trouver de reponse ni ici ni s
Afficher une image dans une application Win-api avec Dev-cpp [ par by_rabbit_08 ]
Bonjour! J'aurais voulu savoir si quelqu'uns pouvait m'aider pour afficher simplement une image dans une application Win-api avec Dev-cpp. Serait-il p
API win Bouton dans Fenetre [ par THEwarrior333 ]
Bonsoir,je debute en programmation API windows et je ne trouve pas comment insérer un bouton dans ma fenetre principale (je dis bien fenetre, pas boit
exitwindows api [ par T_Mehdi ]
salt a tous ;l api exitwindows marche tres bien sous win 98 mais pas sous win xp j'ai essayer de la remplacer par exitwindowsex mais ca marche pas au
ressources fichier texte API Win [ par THEwarrior333 ]
Bonjour,sous Visual 6 en API win:je cherche à inclure un fichier texte dans mes resources pour ensuite l'inclure dans un edit box.comment on fait ca ?
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|