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

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

ouvrir une 2eme fenetre avec editbox et tout et tout, c'est possible?


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

ouvrir une 2eme fenetre avec editbox et tout et tout, c'est possible?

mardi 28 octobre 2003 à 22:32:01 | ouvrir une 2eme fenetre avec editbox et tout et tout, c'est possible?

Arnaud16022

Membre Club

Hello tout le monde!

je voudrais mettre un bouton dans une fenetre (ca c'est facile), mais seulement quand on clique dessus un autre fenetre s'ouvre, avec dans ce cas une aide, mais ca serait aussi pour , par exemple, choisir parmis une liste d'options, etc.

comment faire? j'ai tt essaye, ms rien a faire ca veut pas.Bouh!!

merci d'avance. au cas où, voila ma source(c'est pas l'originale et elle est TRES brouillon(je l'ai faite rapidos juste pour ce msg), mais c'est pour l'exemple)

Faut pas faire attention aux commentaires, c'est pas moi qui les ai mis, une grande partie de la source vient d' src telechargée.

BB

/////////////////////////////////////////////////////////////////////


#include <windows.h>
#define ID_BUTTON 100
HWND WindowHandle;
HWND WindowHandle;
HINSTANCE _hInstance;
HINSTANCE _hInstance2;

const char WinClassName[] = "MyWindowClass";

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


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE PrevInstance, LPSTR CmdLine, int CmdShow)
{
MSG message;
WNDCLASSEX wc;

_hInstance = hInstance;
wc.hInstance = _hInstance; /* Instance du programme */
wc.lpszClassName = WinClassName; /* Nom de la classe */
wc.lpfnWndProc = WindowProcedure; /* Adresse de la procédure qui va recevoir les messages */
wc.style = CS_DBLCLKS; /* Styles! */
wc.cbSize = sizeof(WNDCLASSEX); /* Taille de la classe(ou struct) */
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); /* Grande icône */
wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION); /* Petite icône */
wc.hCursor = LoadCursor(NULL, IDC_ARROW); /* Curseur */
wc.lpszMenuName = NULL; /* Menu */
wc.cbClsExtra = 0; /* Optionnel */
wc.cbWndExtra = 0; /* Optionnel */
wc.hbrBackground = (HBRUSH)GetStockObject(LTGRAY_BRUSH); /* Couleur de fond de la fenêtre */

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

WindowHandle = CreateWindowEx(WS_EX_OVERLAPPEDWINDOW, WinClassName, "Ma première fenêtre!!!",\
WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 200, 200, HWND_DESKTOP, NULL, _hInstance,\
NULL);

if (WindowHandle == NULL)
return 0;

HWND cmdhWnd = CreateWindowEx(0, "BUTTON", "", WS_VISIBLE|WS_CHILD|BS_PUSHBUTTON|BS_NOTIFY|BS_TEXT,
30, 30, 150, 80, WindowHandle, (HMENU)ID_BUTTON, hInstance, NULL);

ShowWindow(WindowHandle, SW_SHOW);
UpdateWindow(WindowHandle);
SetWindowText(cmdhWnd, "Ceci est un Bouton!");
UpdateWindow(cmdhWnd);
SetFocus(cmdhWnd);

while (GetMessage(&message, NULL, 0, 0))
{ TranslateMessage(&message);
DispatchMessage(&message);}
return message.wParam;

}

LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{

switch (msg)
{

case WM_DESTROY:
DestroyWindow(hwnd);
break;
case WM_COMMAND:
if ((LOWORD(wParam) == ID_BUTTON) && (HIWORD(wParam) == BN_CLICKED))
{
HWND cmdhWnd2 = CreateWindowEx(0, "BUTTON", "", WS_VISIBLE|WS_CHILD|BS_PUSHBUTTON|BS_NOTIFY|BS_TEXT,30, 30, 150, 80, WindowHandle2, (HMENU)ID_BUTTON, hInstance, NULL);

ShowWindow(WindowHandle, SW_SHOW);
UpdateWindow(WindowHandle);
}
break;
case WM_CLOSE:
PostQuitMessage(0);
break;

default:

return DefWindowProc(hwnd, msg, wParam, lParam); /* Ne pas effacer */
break; /* Quitte le switch(important) */

}

return 0;

}



mardi 28 octobre 2003 à 22:43:08 | Re : ouvrir une 2eme fenetre avec editbox et tout et tout, c'est possible?

BruNews

Administrateur CodeS-SourceS
CreateWindowEx(0,...
a mettre dans WM_CREATE de ta fenetre. Ici tu le mets dans l'event qu'il devrait generer alors qu'il n'existe pas encore.
BruNews, ciao...
mardi 28 octobre 2003 à 22:52:10 | Re : ouvrir une 2eme fenetre avec editbox et tout et tout, c'est possible?

Anacr0x

Moi ce que je faisait c'est crée une autre fenetre juste après ton WindowHandle sans l'afficher tt de suite, après tu n'as plus qu'a utilisé ShowWindow() pour afficher/supprimer.

Ex :
WindowHandle = CreateWindowEx(WS_EX_OVERLAPPEDWINDOW, WinClassName, "Ma première fenêtre!!!",\
WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 200, 200, HWND_DESKTOP, NULL, _hInstance,\
NULL);

WindowHandle2 = CreateWindowEx(0, WinClassName, "Ma seconde fenêtre", WS_OVERLAPPED,CW_USEDEFAULT, CW_USEDEFAULT, 200, 200, HWND_DESKTOP, NULL,_hInstance, NULL);

ensuite dans ton traitement des messages :
if(wParam == ID_BUTTON)
ShowWindow(WindowHandle2, SW_SHOW);
mercredi 29 octobre 2003 à 21:27:02 | Re : ouvrir une 2eme fenetre avec editbox et tout et tout, c'est possible?

Arnaud16022

Membre Club
merci bcp Anacr0x, je vais mettre tt ca a execution...encore de passionnantes heures en perspective devant ma source!!!
par contre, je comprends pas bien ce que tu me dis, BruNews(du moins la premiere partie).Tu pourrais mettre un exemple plus concret, ou alors un lien vers un source qui montre bien tt ca?
pasque en créant ka fenetre tt de suite, je sais pas si c'est possible de modifier le contenu de l'editbox qui va etre dedans...

enfin bon, merci qd meme.

Ciao
BB


Cette discussion est classée dans : hwnd, wparam, wc, hinstance, windowhandle


Répondre à ce message

Sujets en rapport avec ce message

Pb sur un ptit bout de prog en DirectX.... [ par Haldwin ] Salut a tous....Voila j'ai deux ptits pbs quand je lance cette appli ci-dessous... (VC++)La première est q'une fois sur deux ma variable hWnd apres le Problème de linker dans programme de base. [ par vith17 ] Bonjour,J'ai tapé le code suivant sous Dev-C++. Lorsque je lance la compilation, il me revoie l'erreur suivante :    [Linker error] undefined referenc WIN32 : Editbox non editable avec une boite de dialogue CHILD [ par Pistol_Pete ] BonjourVoila mon problème: J'ai créé une fenêtre et dans cette fenêtre j'ai une boite de dialogue avec le style WS_CHILD. Tous mes contrôles de cette Je trouve pas le bon code [ par vah bi ] Bonjour à tous , voilà je débute en c et comme editeur j'ai le visual c++.Je  fais actuellement une application avec l'api de visual c++  mais en lang Probleme de socket [ par alphaone ] // tcp_client.cpp*: définit le point d'entrée pour l'appli Problème graphique avec C [ par le1scorpion1noir ] salut a tous je peux savoir c'est quoi le meilleur logiciel pour programmer en C puis y t il une différence entre le C et le C++ ? je débute et j ess API + logiciel réseau [ par lolorenzeb ] Bonjour à tous,Voila j'ai réalisé deux petites applications simples (client et serveur) en mode console. Je souhaite donc améliorer mon programme avec Fenetre windows en cpp [ par FeelCode ] bon j'essaye de cree une fenetre windows tout simple mai j'ai un probleme de convertion voir le code plus bas.//************************************** api window [ par ropars ] Bonjour<br interface en c [ par Med2009 ] salut je suis Mohamed un petit développeur en c et qui désire etre le plus grand développeur dans le monde...


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

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