begin process at 2012 05 28 16:23:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Pour afficher des fenetres VC++ 6


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

Pour afficher des fenetres VC++ 6

vendredi 14 mars 2003 à 19:16:35 | Pour afficher des fenetres VC++ 6

Cdcyrille

Voila j'aimerai afficher plusieurs fenetre sous VC++ 6
le probleme c qu'avec un HRESULT on peut pas trop le faire ou alors il faut creer de nouveau DLGPROC mais je c pas du tout comment faire.

Alors plz j'aimerai un peu d'aide c par exemple pour faire une fenetre a propos de sans pour autant quand je clique sur le bouton Ok il ferme tout le programme !
vendredi 14 mars 2003 à 23:54:45 | Re : Pour afficher des fenetres VC++ 6

BruNews

Administrateur CodeS-SourceS
Et alors, ta question contient la reponse. Puisque tu dis que OK ferme ton prog, traite le message IDOK et ne le laisse pas suivre son chemin.
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

> Voila j'aimerai afficher plusieurs fenetre sous VC++ 6
> le probleme c qu'avec un HRESULT on peut pas trop le faire ou alors il faut creer de nouveau DLGPROC mais je c pas du tout comment faire.
>
> Alors plz j'aimerai un peu d'aide c par exemple pour faire une fenetre a propos de sans pour autant quand je clique sur le bouton Ok il ferme tout le programme !
samedi 15 mars 2003 à 00:28:36 | Re : Pour afficher des fenetres VC++ 6

Cdcyrille

Oui mais comment je fait je t'ecrit une partie de mon prog :
HRESULT DlgProc(HWND dlgHandle,UINT uMsg,WPARAM Wparam,LPARAM lParam);


int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hinstancePRECEDENTE, LPSTR CmdLine, int CmdShow)
{
DialogBox(0,MAKEINTRESOURCE(IDD_Maindlg), GetDesktopWindow(), (DLGPROC)DlgProc);
return 0;
}

HRESULT DlgProc(HWND dlgHandle,UINT uMsg,WPARAM Wparam,LPARAM lParam)
{
switch(uMsg)
{
case WM_CLOSE:
PostQuitMessage(0);
break;
case WM_COMMAND:
switch(LOWORD(Wparam))
{
case IDCLOSE:
if (HIWORD(Wparam) == BN_CLICKED)
exit(0);
break;
case IDABORT:
if (HIWORD(Wparam) == BN_CLICKED)
DialogBox(0,MAKEINTRESOURCE(IDD_Maindlg), GetDesktopWindow(), (DLGPROC)DlgProc); //<---------- ICI c peut etre la facon de l'appeler
break;
case IDOK:
if (HIWORD(Wparam) == BN_CLICKED)
exit(0); //<------------ ICI avec ca il ferme TOUT
break;
}
break;
}
return 0;
}

Voila je croit simplement que je doit pas appeler la feuille a propos comme ca ou alors je la ferme d'un autre facon.

-------------------------------
Réponse au message :
-------------------------------

> Et alors, ta question contient la reponse. Puisque tu dis que OK ferme ton prog, traite le message IDOK et ne le laisse pas suivre son chemin.
> BruNews, ciao...
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Voila j'aimerai afficher plusieurs fenetre sous VC++ 6
> > le probleme c qu'avec un HRESULT on peut pas trop le faire ou alors il faut creer de nouveau DLGPROC mais je c pas du tout comment faire.
> >
> > Alors plz j'aimerai un peu d'aide c par exemple pour faire une fenetre a propos de sans pour autant quand je clique sur le bouton Ok il ferme tout le programme !
>
samedi 15 mars 2003 à 00:59:33 | Re : Pour afficher des fenetres VC++ 6

BruNews

Administrateur CodeS-SourceS
Plusieurs choses:
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) suffit comme declaration si tu n'exploites pas les params. Dans tous les cas le 2eme est inutile car il vaut 0 sur Win32.
DialogBox, 3eme param tu mets 0 en place du hdesktop.
Point IMPORTANT: on ne sort pas d'un prog par exit() mais par la boucle des messages ou par EndDialog(hdlg, v) dans ton cas.
Tl faut aussi eviter switch(LOWORD(Wparam)) dans WM_COMMAND si pas utile, BN_CLICKED = 0 donc switch(Wparam) te suffisait.
case IDOK: break; // ENTER ne ferme plus.
case IDCANCEL: EndDialog(hdlg, 0); // ferme
return 0;
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

> Oui mais comment je fait je t'ecrit une partie de mon prog :
> HRESULT DlgProc(HWND dlgHandle,UINT uMsg,WPARAM Wparam,LPARAM lParam);
>
>
> int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hinstancePRECEDENTE, LPSTR CmdLine, int CmdShow)
> {
> DialogBox(0,MAKEINTRESOURCE(IDD_Maindlg), GetDesktopWindow(), (DLGPROC)DlgProc);
> return 0;
> }
>
> HRESULT DlgProc(HWND dlgHandle,UINT uMsg,WPARAM Wparam,LPARAM lParam)
> {
> switch(uMsg)
> {
> case WM_CLOSE:
> PostQuitMessage(0);
> break;
> case WM_COMMAND:
> switch(LOWORD(Wparam))
> {
> case IDCLOSE:
> if (HIWORD(Wparam) == BN_CLICKED)
> exit(0);
> break;
> case IDABORT:
> if (HIWORD(Wparam) == BN_CLICKED)
> DialogBox(0,MAKEINTRESOURCE(IDD_Maindlg), GetDesktopWindow(), (DLGPROC)DlgProc); //<---------- ICI c peut etre la facon de l'appeler
> break;
> case IDOK:
> if (HIWORD(Wparam) == BN_CLICKED)
> exit(0); //<------------ ICI avec ca il ferme TOUT
> break;
> }
> break;
> }
> return 0;
> }
>
> Voila je croit simplement que je doit pas appeler la feuille a propos comme ca ou alors je la ferme d'un autre facon.
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Et alors, ta question contient la reponse. Puisque tu dis que OK ferme ton prog, traite le message IDOK et ne le laisse pas suivre son chemin.
> > BruNews, ciao...
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Voila j'aimerai afficher plusieurs fenetre sous VC++ 6
> > > le probleme c qu'avec un HRESULT on peut pas trop le faire ou alors il faut creer de nouveau DLGPROC mais je c pas du tout comment faire.
> > >
> > > Alors plz j'aimerai un peu d'aide c par exemple pour faire une fenetre a propos de sans pour autant quand je clique sur le bouton Ok il ferme tout le programme !
> >
>
samedi 15 mars 2003 à 01:18:06 | Re : Pour afficher des fenetres VC++ 6

Cdcyrille

Merci pour tes réponses, elles m'ont bien aider (surtout la derniere :D)
Aller @+
Et merci encore !


Cette discussion est classée dans : afficher, fenetre, vc, fenetres


Répondre à ce message

Sujets en rapport avec ce message

Problème de fenetres [ par Toobad ] Salut tout le monde,J'suis un ptit nouveau dans la programmation Win32 et comme on peut s'en douter pour un nouveau, j'ai un tas de problèmes. J'ai fa fenetre jaune [ par Xs ] Salut !j'ai beau chercher dans toutes les API que je connaisse ou pas, je ne trouve comment faire pour lorsque,la souris reste un certain temps sur un fenetre "complexes" avec Dev C++ [ par MrKribou ] En fait mon prob : Je cherche deseperemment a faire une frame (je sais pas si c le nom exact) a une fenetre pour la separer en deux (d'un cote un arbr Afficher image dans fenetre [ par payen ] salut a tous,je travaille sur tout un tas d'algos pour faire du traitement d'images (photos aeriennes, images satellites ...). j'aimerais juste un pet VC++ : comment changer la fenetre principale d'une SDI ? [ par lapiou ] Comment changer la fenetre de fond d'une SDI? On a vu qu'il fallait créer une dialog, la mettre en "child", mais ensuite, ca bloque...Comment faire po Création de fenetre VC++ 6 [ par CHENRY ] Dans une appli multi document, je n'arrive pas a ouvrir une nouvelle fenetre fille (aprés une sélection dans un menu par ex.)je tapeHWND MyWnd;BOOL re help : windows et ses fenetres [ par Shouwi ] j'ai vu sur le site ke l'on pouvait envoyer un message à une fenetre (ou un prog) par cette fonction : LRESULT SendMessage( HWND hWnd, UINT Ms Probleme d'execution avec VC++ [ par AntiSlash ] petit probleme incomprehensible (?):j'utilise VC++ 5.0 et je dessine une fenetre. Quand je mets rien dans la fenetre, et que je creer mon .exe, je le Afficher une fenetre de Dialogue [ par crashdown ] Voila j aimerai savoir la difference entre une fenetre modal ou non JAi cree une fenetre de Dialogue IDD_DIALOG sous VC6 et jaimerai savoir comment la Cacher la fenetre d'un programme console en VC++ [ par petitchech ] Je cherche comme cacher la fenetre console d'un prog et le cacher ds la barre des tache aussi.


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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,296 sec (4)

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