begin process at 2012 05 30 01:08:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Ouvrir une deuxième fenêtre Win32 sous Dev-C++


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

Ouvrir une deuxième fenêtre Win32 sous Dev-C++

jeudi 15 juillet 2004 à 00:13:16 | Ouvrir une deuxième fenêtre Win32 sous Dev-C++

olivier007700

Bonjour,

Je souhaite ouvrir, depuis une première fenêtre, une deuxième fenêtre tout à fait classique.
Quel est le code le plus simple pour ce faire ?

Merci pour la réponse,
Cordialement,
O007700
jeudi 15 juillet 2004 à 02:46:39 | Re : Ouvrir une deuxième fenêtre Win32 sous Dev-C++

AlexMAN

Membre Club
Tu veux faire une appli style VC ? les fenetres ki se "rangent" ds un coin de la fenetre ? une applic MDI koi !? Ou simplement demander quelq chose a l'user ? pour le 2eme cas, Dialog Box, ds le premier cas, creation d'application MDI (tu dois pouvoir trouver ca sur le site ou sur msdn, jnai jamais fait :/)...

jeudi 15 juillet 2004 à 10:43:07 | Re : Ouvrir une deuxième fenêtre Win32 sous Dev-C++

vecchio56

Administrateur CodeS-SourceS
Je pense qu'il suffit de créer un première fenêtre, puis la deuxième avec le style WS_CHILD et la première comme parent
jeudi 15 juillet 2004 à 11:53:53 | Re : Ouvrir une deuxième fenêtre Win32 sous Dev-C++

olivier007700

Bonjour,

Je précise le problème :

J'ai essayé, depuis une fenêtre classique, de créer une autre fenêtre classique (pas MDI).

J'ai spécifié le style WS_CHILD pour la fenêtre enfant.

Mon code est tout à fait banal.

Quand je compile, je vois les composants de la deuxième fenêtre apparaître dans la première. La deuxième fenêtre reste "collée" sur la première : elle s'affiche par dessus, mais sans se matérialiser : pas de bordure, pas de croix,...
Pourtant, la première fenêtre a perdu la main : si je clique sur un bouton de la première fenêtre, il ne répond pas.

Voilà voilà...
Toutes vos idées sont les bienvenues, et merci !
jeudi 15 juillet 2004 à 12:41:19 | Re : Ouvrir une deuxième fenêtre Win32 sous Dev-C++

AlexMAN

Membre Club
Fais voir le code de ta WndProc pour la seconde fenetre, tu as pensé a faire un default: return FALSE; ds ton switch ? Poste le code, faut kon voye ton code....
jeudi 15 juillet 2004 à 17:22:47 | Re : Ouvrir une deuxième fenêtre Win32 sous Dev-C++

BruNews

Administrateur CodeS-SourceS
Blague du jour, bonjour:
Qui ne voit pas est 'devoye'.

ciao...
BruNews, Admin CS, MVP Visual C++
jeudi 15 juillet 2004 à 18:26:02 | Re : Ouvrir une deuxième fenêtre Win32 sous Dev-C++

olivier007700

Bon voilà le code en gros :

#include <windows.h>

/* Declare Windows procedure */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK WndProcPrincipale (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);

/* Make the class name into a global variable */
char szClassName[ ] = "WindowsApp";
HINSTANCE hInst;
int nfunc;

int WINAPI WinMain (HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nFunsterStil)

{
hInst=hThisInstance;
nfunc=nFunsterStil;

HWND hwnd;
MSG messages;

//Première fenêtre
WNDCLASSEX wincl;

wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcedure;
wincl.style = CS_DBLCLKS;
wincl.cbSize = sizeof (WNDCLASSEX);
wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
wincl.lpszMenuName = NULL;
wincl.cbClsExtra = 0;
wincl.cbWndExtra = 0;
wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

if (!RegisterClassEx (&wincl))
return 0;

hwnd = CreateWindowEx (
0,
szClassName,
"Windows App",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
544,
375,
HWND_DESKTOP,
NULL,
hThisInstance,
NULL
);

ShowWindow (hwnd, nFunsterStil);
UpdateWindow(hwnd);

while (GetMessage (&messages, NULL, 0, 0))
{
TranslateMessage(&messages);
DispatchMessage(&messages);
}

return messages.wParam;
}



LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HWND hwnd_fen;

WNDCLASSEX wc;

//deuxième fenêtre
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = 0;
wc.lpfnWndProc = WndProcPrincipale;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
wc.hInstance = hInst;
wc.hbrBackground = (HBRUSH) (COLOR_WINDOW + 1);
wc.lpszMenuName = NULL;
wc.lpszClassName = "Fenêtre";

RegisterClassEx(&wc);



hwnd_fen = CreateWindowEx(WS_EX_CLIENTEDGE, "Fenêtre", "Fenêtre",
WS_CAPTION | WS_MINIMIZEBOX | WS_SYSMENU ,
50, 50, 300, 400,
NULL, NULL, hInst, NULL);


/*ShowWindow(hwnd_fen, nfunc); ??*/
/*UpdateWindow(hwnd_fen); ??*/


switch (message)
{
case WM_DESTROY:
PostQuitMessage (0);
break;
default:
return DefWindowProc (hwnd, message, wParam, lParam);
}

return 0;
}
LRESULT CALLBACK WndProcPrincipale (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{


switch (message)
{
case WM_DESTROY:
PostQuitMessage (0);
break;
default:
return false;
}

return 0;
}
jeudi 15 juillet 2004 à 18:36:25 | Re : Ouvrir une deuxième fenêtre Win32 sous Dev-C++

BruNews

Administrateur CodeS-SourceS
DefWindowProc manquant.
return 0 sur PostQuitMessage.

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


Cette discussion est classée dans : ouvrir, fenêtre, dev, win32


Répondre à ce message

Sujets en rapport avec ce message

plusieurs fenêtre win32 [ par maevasa ] bonjour,Voilà j'ai un programme qui ouvre sur un menu . Ce menu permet d'ouvrir plusieurs fenêtres mais lorque une est ouverte je ne peux pas cliquer Ouvrir une sous-fenêtre depuis un bouton [Dev-cpp] [ par by_rabbit_08 ] bonour! J'ai posté une question sur le forum l'autre, mais a voir, elle n'a pas été bien compris ... Enfait, j'imagine que pour beaucoup de monde, c'e ouvrir la fenetre en plein ecran [ par alain_methos ] salut je vient de me mettre sur dev C++ apres avoir utiliser visual c++et j'aimerai savoir si pour dev il y as une possibilité de lancer le programme Probleme avec Dev c++ (débutant) [ par MATHIS49 ] Bonjour à tous ! Bon voila j'expose mon problème, j'ai acheté un bouquin pour apprendre le C ( le langage C par Peter Aitken et Bradley L.Lones éditi [Dev-C++] SetPixel et WM_PAINT mais sans fenêtre [ par Isoth0p ] Bonjour. Je voudrais savoir s'il serait possible d'utiliser la fonction SetPixel dans un WinMain SANS créer de fenêtre et qu'elle se comporte comme à Évènements du clavier [ par mast ] Bonsoir,J'essais d'écrire une petite appli qui détecte les évènements du clavier pour ouvrir des applications. Par exemple F2 ouvrirait firefox, F3 th API win32: Comment éviter le scintillement sur l'écran [ par rachid12450 ] salut à tousPour empêcher le scintillement on peut utiliser le double buefferingmais lorsqu'on a une fenêtre principale et une fenêtre enfant sur la s Ouvrir un fenêtre internet [ par Arnauti ] Bonjour, voilà, je suis débutant en C est j'aimerais savoir comment faire pour ouvrir une fenêtre internet depuis un programme MSDos.J'utilises DevCpp problème affichage fenêtres API WIN32 [ par yepla75 ] Bonjour,Je suis nouveau et j'espère poster au bon endroit...Je débute la programmation C / API WIN32 et je veux faire un programme qui affiche une fen win32 fenêtre pas déplaçable [ par snpier wolf ] salut à tous  enfaite je débute et j'ais deuxquestion à vous pouser.voila j'ai créé un bou de code et quand je le compile la fenêtre apparait mais il


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

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