Fenetre qui bloque [Résolu]

Messages postés
29
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
7 janvier 2012
- - Dernière réponse : jlg75
Messages postés
29
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
7 janvier 2012
- 1 juil. 2011 à 18:24
Bonjour,

J'ai créé une fenêtre principale + une fenetre fille de type "static control" destinée à faire du dessin (avec appli de base W32 sur Codeblocks, utilisant CreateWindowsEx). Problème: la fenêtre se fige a peu près au bout d'une minute et lorsque l'on redimensionne en tirant les bords, mais la souris reste active. Au pire la fenêtre fille apparait parfois toute seule et vérole le bureau si l'on redimensionne trop violemment! Il faut fermer avec le gestionnaire des tâches. Quelqu'un a t-il rencontré un pb similaire?

A+
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
3
Merci
salut,

Peut-être la file de messages qui n'est pas vidée correctement.

@++

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 191 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_patatalo
Messages postés
29
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
7 janvier 2012
0
Merci
Oui, je soupçonne un pb de ce genre sans vraiment comprendre vu mon niveau débutant en API/C++. J'ai remonté les blocs de code 1 par 1 et ça semble OK, je ne sais pas pourquoi. Juste une remarque: selon les exemples qu'on trouve, le hwnd et le hinstance sont déclarés parfois en global, d'autres fois ds le winmain. g mis le hinstance en global mais je ne pense pas que le pb venait de là.
A+
Commenter la réponse de jlg75
Messages postés
305
Date d'inscription
jeudi 29 avril 2004
Statut
Membre
Dernière intervention
18 janvier 2012
0
Merci
Non il n'y a pas de raison que déclarer le HWND en Winmain pose problème ... Par contre tu gère les messages WM_RESIZE ?? il semblerait qu'il y'ai un lien ....
Commenter la réponse de cs_LA_Tupac
Messages postés
29
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
7 janvier 2012
0
Merci
Voici le bout de code gerant les messages de création et dimensionnement

switch (message) // gestion des messages
{
case WM_CREATE:
hBarreEtat=GenStatusBar(hwnd); // statusbar
hBarreStd=GenBarreStandard(hwnd); // barre standard
hBarreDes=GenBarreDessin(hwnd); // barre choix fonctions dessin

hGraphic=GenGraphic(hwnd,colFond); // zone graphique ( on dessine sur son HDC)
//repCentre.Tracer(hGraphic,100,100);
break;

case WM_SIZE: // régénère les fenetres et barres
largeur=LOWORD(lParam);
hauteur=HIWORD(lParam);
GetClientRect(hwnd, &rectClient);

MoveWindow(hGraphic, rectClient.left+10, rectClient.top+70, largeur-20, hauteur-100, TRUE);
MoveWindow(hBarreEtat, rectClient.left, rectClient.bottom-30, largeur, 30, TRUE);
MoveWindow(hBarreStd, 5, 0, 340, 60, TRUE);
MoveWindow(hBarreDes, 350, 0, 500, 60, TRUE);

GetWindowRect(hGraphic,&rectGraphic);

ShowWindow(hBarreStd, SW_SHOW);
ShowWindow(hBarreDes, SW_SHOW);
ShowWindow(hGraphic, SW_SHOW);
break;

case WM_CLOSE:
if (MessageBox(hwnd, "Voulez vous vraiment quitter?", nomAppli, MB_YESNO | MB_ICONQUESTION )==IDYES)
{
DestroyWindow(hwnd);
PostQuitMessage(0);
}
break;
Commenter la réponse de jlg75