begin process at 2012 05 30 05:15:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

[vc++]Creer ses fenetres a partir de dialogbox[C]


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

[vc++]Creer ses fenetres a partir de dialogbox[C]

jeudi 8 décembre 2005 à 19:48:25 | [vc++]Creer ses fenetres a partir de dialogbox[C]

shadow1779

Membre Club
Bonsoir,

en ce moment j'essai de me simplifier la vie en apprenant a creer mes fenetre avec visual c++ en creant des dialogbox via les ressources et ainsi passer tres peu de temps a faire le design du programme, cependant je ne sais pas quoi mettre dans mon fichier .cpp afin d'afficher ma DialogBox et non pas de fenetre principal ou autre, quelqu'un peu t'il me poster un exemple pour afficher par exemple une dialogbox dont l'ID serait IDC_MAIN

(programmation en C)
jeudi 8 décembre 2005 à 19:54:15 | Re : [vc++]Creer ses fenetres a partir de dialogbox[C]

vecchio56

Administrateur CodeS-SourceS
En effet, ca peut servir :)
DialogBox(hInst, (LPCTSTR)IDC_MAIN, hParentWnd, DlgProc);

DlgProc est une fonction en CALLBACK, a peu près comme pour les autres fenêtre, sauf qu'on n'appelle pas DefWindowProc
jeudi 8 décembre 2005 à 20:10:47 | Re : [vc++]Creer ses fenetres a partir de dialogbox[C]

shadow1779

Membre Club
bah j'ai essayer de faire quelque chose en regardant un peu comment cela était fait pour une fenetre mais ca ne marche quand meme pas... il y a une erreur au parametre 4 de DialogBox(), pourrait tu me rectifier le code stp :s


#include <windows.h>
#include "resource.h"

LRESULT CALLBACK DlgProc(HWND, UINT, WPARAM, LPARAM);

HINSTANCE hinst;

int WINAPI WinMain(HINSTANCE Instance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
HWND hwnd;
MSG msg;
hinst = Instance;

DialogBox(hinst,(LPCTSTR)IDC_MAIN, hwnd, DlgProc);

 if (!hwnd)  return FALSE;

    ShowWindow(hwnd, nCmdShow);

    while (GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return msg.wParam;
}
/******************************************************************************/
LRESULT CALLBACK DlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
    {
        case WM_CREATE:
            {

            return 0;
            }
        case WM_CLOSE:
            PostQuitMessage(0);
            return 0;

    }
}
.
jeudi 8 décembre 2005 à 20:18:32 | Re : [vc++]Creer ses fenetres a partir de dialogbox[C]

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
Si tu regardes MSDN, tu vois que DlgProc doit être INT_PTR CALLBACK.
Ensuite, la boules de messages ne sert a rien, ainsi que le PostQuitMessage par conséquent.
Ton hwnd ne sert à rien, c'est pour spécifier la fenêtre parent du dialogue:

#include <windows.h>
#include "resource.h"

INT_PTR CALLBACK DlgProc(HWND, UINT, WPARAM, LPARAM);

HINSTANCE hinst;

int WINAPI WinMain(HINSTANCE Instance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
  DialogBox(hinst,(LPCTSTR)IDC_MAIN, 0, DlgProc);
}

/******************************************************************************/
INT_PTR CALLBACK DlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
  switch (uMsg)
  {
    case WM_COMMAND:
      if(LOWORD(wParam) == IDCANCEL)
        EndDialog(hwnd, 1);
  }
  return 0;
}
jeudi 8 décembre 2005 à 20:24:15 | Re : [vc++]Creer ses fenetres a partir de dialogbox[C]

shadow1779

Membre Club
merci, par contre le seul probleme restant est que la DialogBox s'affiche mais sans les contours des fenetres windows (ceux en bleus sous XP par defaut) la ou il y a le titre et puis reduire, agrandir, fermer,

comment puis je résoudre ce probleme?


Merci d'avance
jeudi 8 décembre 2005 à 20:29:30 | Re : [vc++]Creer ses fenetres a partir de dialogbox[C]

shadow1779

Membre Club

ah non c'est bon cela venait de ma DialogBox, en tout cas grand merci :D
jeudi 8 décembre 2005 à 21:07:25 | Re : [vc++]Creer ses fenetres a partir de dialogbox[C]

shadow1779

Membre Club
par contre si je fais plusieurs dialogbox, le probleme est que quand j'en ferme une, elle se ferme toute, il y a quelque chose pour empecher cela

  switch (uMsg)
  {
    case WM_COMMAND:
        switch(wParam)
        {
//appel de la boite de dialogue pour decouper
        case IDC_DECOUP:
DialogBox(hinst,(LPCTSTR)IDD_DIALOG1, 0, DlgProc);
            return 0;
//appel de la boite de dialogue pour rassembler
        case IDC_RASSEMBLE:
DialogBox(hinst,(LPCTSTR)IDD_DIALOG2, 0, DlgProc);
            return 0;
//appel de la messagebox pour afficher la version
        case IDC_VERS:
MessageBox(NULL,"Cutmaster Version 2.0\r\nCrée par Shadow","Version",MB_ICONINFORMATION | MB_RIGHT);
return 0;
        }


Cette discussion est classée dans : creer, partir, vc, fenetres, dialogbox


Répondre à ce message

Sujets en rapport avec ce message

CComboBox resize (vc++6) [ par beny ] je cree une combobox dynamiquement dans une dialogbox resizable.Je souhaite redimensionner ma combobox en fonction de la taille de la dialogbox. (une Comment creer une dialogbox ?? [ par blork ] BlörkVoila mon probleme : j' aimerais creer une boite de dialog mais je ne sait pas comment on fait !Merci d'avance. Gérer des séries graphique excel à partir de vc++ [ par sanouk ] Bonjour,Je pilote excel à partir d'une appli vc++, je génère un graphe à partir de différentes données. Je souhaite modifier ce graphe en sélectionnan Dll vc++ [ par MoDDiB ] J'ai cherché des sources sur les dlls et je n'ai trouvé que des moyens de lancer des fonction de la dll a partir de lexe.Mais je me doute qu'il doit e Prob Tab control avec VC++ [ par loicus ] Bon voila, j'aimerais rajouter un Tab COntrol dans une DialogBox, Mais quand j'en ajoute une avec VC++ grace a l'editeur de ressource (dialogbox)de 1 creer dialogbox + modif forme [ par alanbraxe31 ] http://membres.lycos.fr/alanbraxe31bonjour,je cherche tout simplement à effectuer des modifs sur ma dialog box, j'aimerai qu'elle fasse comme la barre Creer des contrôles dynamiquement sous VC++ 6 ? [ par DARKSIDIOUS ] Comment faire pour créer des contrôles de façon dynamique (lors de l'éxécution du programme) sous VC++ 6 ? Dans mon cas, il s'agit de contrôle Label.E lire du XML à partir de VC++ [ par samki ] Bonjourje connais rien en XML,enfin je viens de voir le format d un fichier XML. et je dois extraire des informations de ce fichier.je sais pas commen directdraw et dialog box [ par mannix ] Salut à tous, je débute en c++ et j'ai un peu de mal à comprendre tous les mecanismes qui permettent de manipuler facilement le fenetres. Je voudrais génere un evenement vb à partir de vc++ [ par amiro ] j'utilise une callback function dans une DLL.comment peut on faire pour générer un événement visual basic lorsque cette callback function est appelée.


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,406 sec (3)

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