begin process at 2012 05 29 02:42:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

DialogBox qui ne s'affiche que sur mon PC


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

DialogBox qui ne s'affiche que sur mon PC

lundi 23 février 2004 à 10:12:41 | DialogBox qui ne s'affiche que sur mon PC

CyberP

J'ai créé un programme dont l'interface est uniquement composée d'une dialogbox. Mais quand je donne le programme à quelqu'un d'autre sur le net (je ne peux donc pas faire un débugage), celui-ci me dit que rien ne se passe quand il lance le programme. Avec un système de MessageBox, j'ai réussi à comprendre que c'est en fait la dialogbox qui ne veut pas s'afficher...

Je l'ai créé avec l'éditeur de resources de vc++ (6.0), j'ai bien mis "popup" dans le style de fenêtre (sinon ca n'apparait pas non plus chez moi, car je ne spécifie pas de hWnd dans l'ouverture) et après une vingtaine de tests où j'ai modifié un peu tous les paramètres, ca n'apparait toujours pas...

Voici comment j'appelle la boite de dialogue :
DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN), NULL, MainProc);

Même résultat si je met NULL pour le premier paramètre

CyberP,
Celui qui dit que toute question a une réponse
lundi 23 février 2004 à 10:47:54 | Re : DialogBox qui ne s'affiche que sur mon PC

vecchio56

Administrateur CodeS-SourceS
C'est tout a fait incompréhensible... Qu'est ce que tu as dans MainProc?
lundi 23 février 2004 à 11:15:31 | Re : DialogBox qui ne s'affiche que sur mon PC

CyberP

J'ai ca (en espérant qu'on puisse lire) :

BOOL CALLBACK MainProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {
switch(message) {
case WM_PAINT:{
Progression = GetDlgItem(hWnd, IDC_PROGRESSION);
SendMessage(Progression, PBM_SETBARCOLOR, NULL, 180);
SendMessage(Progression, PBM_SETRANGE, NULL, MAKELPARAM(0, 15));
break;
}
case WM_CLOSE:{
EndDialog(hWnd, 0);
break;
}
case WM_COMMAND: {
switch(LOWORD(wParam)) {
case IDC_START:{

// Une grande partie du programme ici
break;
}
}
}
default: {
return FALSE;
}
}

return TRUE;
}


CyberP,
Celui qui dit que toute question a une réponse
lundi 23 février 2004 à 11:18:43 | Re : DialogBox qui ne s'affiche que sur mon PC

CyberP

Je crois que j'ai trouvé mais je ne peux pas le faire tester pour le moment... J'ai mis

return DefWindowProc(hWnd, message, wParam, lParam);

à la place de return TRUE ou return FALSE

CyberP,
Celui qui dit que toute question a une réponse
lundi 23 février 2004 à 11:22:46 | Re : DialogBox qui ne s'affiche que sur mon PC

vecchio56

Administrateur CodeS-SourceS
en toute logique tu ne dois pas appeler DefWindowProc mais retourner FALSE comme tu le fais dans default:
Mais a mon avis ca ne vient pas de la, ca viendrait plutot du fait que tu utilise une progress bar, ca il faut appeler InitCommonControls
lundi 23 février 2004 à 11:24:07 | Re : DialogBox qui ne s'affiche que sur mon PC

CyberP

Non... Ca créé un bug dans la fenêtre...

CyberP,
Celui qui dit que toute question a une réponse
lundi 23 février 2004 à 11:25:49 | Re : DialogBox qui ne s'affiche que sur mon PC

CyberP

Je vais essayer de tester sans la progressbar (pour voir si c'est bien ca)

CyberP,
Celui qui dit que toute question a une réponse
lundi 23 février 2004 à 11:27:46 | Re : DialogBox qui ne s'affiche que sur mon PC

CyberP

Ah oui, ce qui est dans WM_PAINT je voulais le mettre dans WM_CREATE mais ca ne s'est pas déclenché (bizarrement), il y a peut être un rapport entre les deux

CyberP,
Celui qui dit que toute question a une réponse
lundi 23 février 2004 à 12:56:20 | Re : DialogBox qui ne s'affiche que sur mon PC

aardman

Membre Club
Salut,
Une dialogbox ne recoit pas WM_CREATE mais WM_INITDIALOG.
Tout tes GetDlgItem() doivent etre exécutés lors du traitement de ce message (surtout pas dans WM_PAINT).
lundi 23 février 2004 à 13:39:26 | Re : DialogBox qui ne s'affiche que sur mon PC

BruNews

Administrateur CodeS-SourceS
Et WM_INITDIALOG doit retourner 1, les autres 0.
Pourquoi ne copies tu pas un de nos exemples en source et tu adaptes a l'emplacement des procedures.

ciao...
BruNews, Admin CS, MVP Visual C++

1 2

Cette discussion est classée dans : affiche, programme, pc, créé, dialogbox


Répondre à ce message

Sujets en rapport avec ce message

Popup dans un popup [ par CyberP ] J'ai créé un programme dont la seule fenêtre est une DialogBox. J'ai rajouté une autre DialogBox pour le "A propos de" mais celle-ci ne s'affiche pas je voudrais afficher les résultats de mon programme dans des carrés [ par arconius ] Voila à l'aide de conio.h je dessine en ascii des carré, puis je voudrais avoir les résultats que mon programme affiche dans ces carrés.Mon problème e faire apparaitre une image [ par supergrey ] Salut, j'ai fait un programme avec une dialogbox qui contient une image, et je voudrai qu'on puisse faire disparaitre cette image (mais pas le reste) image qui ne s'affiche pas dans une zone image [ par pidoumtimo ] hello.J'ai un pb d'affichage de bitmap dans une dialogue box.La situation est la suivante.Une premiere dialogue box est lancée. Par un clik sur un bou AIDE!!!!!!!!programme c++ [ par aslauque ] je dois ecrire un programme en c++:1) déclare un entier et l'initialise à la valeur 262)affiche la valeur de cet entier à l'écran3)affiche l'adresse d Démarage de windows [ par Fuckly94 ] Bonjour tout le monde,j'aimerais savoir tous les myen de lancer une application au démarage de windows.Je m'explike:Mon frére lance pa mal de connerie question sur un programme créé sous mac [ par zakspeed ] Bonjours, je souhaiterais savoir si un programme créé sous mac en c++ et compilable sous windows !dans les archives, il y a des fichiers avec comme ex pb affichage BITMAP [ par pichu ] Sur certains PC, le bitmap ne s'affiche pas notamment lorsque je fais le code suivant alors que sur d'autres PC cela il s'affiche bien:CBitmap h ;h.Lo Vitesse / WinSock [ par RLBDC ] YopYop tlm !Bien, voilà , étant encore un peu "newbie" dans le C++ , je me suis lancé dans la programmation d'un jeu de pong basique en réseau .Mon pr Comment redemarrer le PC avec un programme DOS sur disquette [ par Ethylotek ] voici la fin de mon prog    printf("/***********************************************/\n");    printf("/*


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,827 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales