Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1268 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  ajouter une fenetre à une application win32 console ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ajouter une fenetre à une application win32 console ?

n°1375594
ilimo
Posté le 26-05-2006 à 15:09:10  profilanswer
 

bonjour,
comment je pourrai ajouter une fenetre à une application win32 console ?
 
le mian du projet :
 [#0000ff size=2]
int[/#0000ff size=2][size=1] _tmain([/size][#0000ff size=2]int[/#0000ff size=2][size=1] argc, TCHAR* argv[], TCHAR* envp[])
{
//.............;
}
 
merci pour votre aide[/size]

mood
Publicité
Posté le 26-05-2006 à 15:09:10  profilanswer
 

n°1375624
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 26-05-2006 à 16:07:57  profilanswer
 

si tu veux une fenêtre, il ne faut pas faire de projet Win32 Console, mais Win32 Application


---------------
J'ai un string dans l'array (Paris Hilton)
n°1375644
breizhbugs
Posté le 26-05-2006 à 16:47:10  profilanswer
 

Harkonnen a écrit :

si tu veux une fenêtre, il ne faut pas faire de projet Win32 Console, mais Win32 Application


 :hello:  
D'accord, mais dans l'absolu ca doit quand meme etre possible non (cf la GLut, par exemple?)

n°1375652
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 26-05-2006 à 16:52:27  profilanswer
 

oui c'est possible, mais il devra partir de rien du tout :spamafote:
il va falloir tout créer : la classe de fenêtre, puis la fenêtre elle même et enfin la procédure de traitement des messages. s'il est débutant, il va galérer


---------------
J'ai un string dans l'array (Paris Hilton)
n°1375677
ilimo
Posté le 26-05-2006 à 17:47:16  profilanswer
 

Code :
  1. ///////////////////////////////////
  2. // message loop to process user input
  3. MSG msg;
  4. while(1)
  5. {
  6.  if(::PeekMessage(&msg,hWnd,0,0,PM_REMOVE))
  7.  {
  8.   if(msg.message==WM_KEYUP)
  9.   {
  10.    int nVirtKey = (int)msg.wParam;
  11.    // if the user pressed the ESCAPE key, then
  12.    // do something
  13.    if(nVirtKey==VK_ESCAPE)
  14.    {
  15.                                                       // code
  16.    }
  17.   }
  18.   // process message
  19.   ::TranslateMessage(&msg);
  20.   ::DispatchMessage(&msg);
  21.  }
  22.  else
  23.  {
  24.   // if there is no message to process,  
  25.   // then sleep for a while to avoid burning
  26.   // too much CPU cycles
  27.   ::Sleep(100);
  28.  }
  29. }
  30. //////////////////////////////////
  31.              //_Create_Window()
  32. HWND hwnd;
  33. WNDCLASSEX wincl;
  34. int nFunsterStil;
  35. HINSTANCE hThisInstance;
  36. // Structure de la fenêtre
  37. wincl.hInstance = hThisInstance;
  38. wincl.lpszClassName = "classe";
  39. wincl.lpfnWndProc = WndProc; // Fonction appelée par Windows
  40. wincl.style = CS_HREDRAW|CS_VREDRAW; // Redessine à chaque fois
  41. wincl.cbSize = sizeof(WNDCLASSEX);
  42. // Icônes, pointeur, etc
  43. wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
  44. wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
  45. wincl.hCursor = LoadCursor(NULL, IDC_ARROW);
  46. wincl.lpszMenuName = NULL; wincl.cbClsExtra = 0; wincl.cbWndExtra = 0;
  47. wincl.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH); // Fond blanc
  48. // Enregistre la classe sinon quitte le programme
  49. RegisterClassEx(&wincl);
  50. // Création de la fenêtre
  51. hwnd = CreateWindowEx(0, "classe",
  52.  "C++ et Windows - 01", // Titre
  53.  WS_OVERLAPPEDWINDOW, // Fenêtre par défaut
  54.  GetSystemMetrics(SM_CXSCREEN)/4, // left
  55.  GetSystemMetrics(SM_CYSCREEN)/4, // top
  56.  GetSystemMetrics(SM_CXSCREEN)/2, // width
  57.  GetSystemMetrics(SM_CYSCREEN)/2, // height
  58.  HWND_DESKTOP, NULL, hThisInstance, NULL );
  59. // Montre la fenêtre
  60. ShowWindow(hwnd, 1);
  61. /////////////////////////////////////////////////////////////////////////////////


 
le probleme c'est que dans un projet console : je ne sais pas comment faire pour  
hThisInstance
 
à chaque fois j'ai erreur
 
comment récuperer un "hThisInstance" valide pour que ça marche ?

n°1375713
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 26-05-2006 à 19:26:51  profilanswer
 

et ben voila, c'est pour ce genre de raison que je pense qu'il vaut mieux repartir d'un projet Win32 Application, mais bon, on s'en fout de ce que je raconte :sarcastic:
sinon, normal que tu aies une erreur ! le hThisInstance, c'est bien joli de le déclarer, mais encore faut il l'initialiser !
et comment l'initialise t'on ? ça se fait tout seul avec un Win32 Application, sinon on utilise le code suivant :

Code :
  1. hThisInstance = (HINSTANCE)GetModuleHandle(NULL);


---------------
J'ai un string dans l'array (Paris Hilton)
n°1375842
ilimo
Posté le 27-05-2006 à 00:12:12  profilanswer
 

wowowowoowowowowowow :lol:  :lol:  :lol:  :lol:  :lol:  
 :jap:  :jap:  :jap:  :jap:  :jap:  :jap:  :jap:  :jap:  :jap:  
 
 
àa maaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarche
 
merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii

n°1376106
ilimo
Posté le 28-05-2006 à 00:40:34  profilanswer
 

_beginthread


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  ajouter une fenetre à une application win32 console ?

 

Sujets relatifs
[SDL]seg fault à la fermeture en mode consolefaire une application en reseau
[Access 2003] Ajouter des valeurs au résultat d'une requête[VB.NET 2.0] Lancer une application installee sur un serveur...
nouvelle fenetre de commande à partir d'une fenetre de commandeAjouter une entré au menu dans le navigateur
Impossible d'ajouter des éléments à la tableInsérer un terminal telnet dans mon application
Reload Popup de la fenetre grand mèrefenetre bouton tween
Plus de sujets relatifs à : ajouter une fenetre à une application win32 console ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR