Bon un coup de balai...je sais que les puristes vont se tirer les cheveux
Mais j'ai indenté à la PB, pour pas trop m'y perdre...
Faut reconnaitre que plus on fait du C...plus on aime PB  

Mais c'est rigolo....y'a quand meme des sacré similitudes  
Reste à fourrer ça dans une procedure PB....en separant bien sur la gestion d'evenement, la couleur et tout le toutim.....  
 
Alors de ce que j'ai compris ..
Ca c'est l'equivalent de WindowEvent(), faut pas qu'j'oublie de le declarer au debut...je m'rapelle d'un de mes livres que j'avais lu ....
Code : Tout sélectionner
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){
Ca c'est le select case de l'Event
Code : Tout sélectionner
switch (message){
  case WM_DESTROY:
   PostQuitMessage (0);       // envoie un message WM_QUIT dans la file d'attente
   break;
  default:
   return DefWindowProc (hwnd, message, wParam, lParam);
 }
Avec le 
WM_DESTROY qui devrait correspondre a 
#PB_Event_CloseWindow
Break..pas besoin de trouduc.....heu non...un trouduc....vous en avez un dans le forum...c'est votre serviteur KCC....j'voulais dire de traduc  
 
Quoi qu'il en soit...meme si c'est nul....que ça pu...c'est drolement utile d'avoir un trouduc...car autrememnt on est drolement dans la mer.....
Tiens... ça me fait penser à  une blague...(Non KCC..pas à cette heure 

 )
Ca c'est l'appel du hublot
Code : Tout sélectionner
hWnd = CreateWindowEx (0, szClassName, "Fenetre simple", WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX, CW_USEDEFAULT, CW_USEDEFAULT, 644, 475, HWND_DESKTOP, NULL, hThisInstance, NULL);
Avec la protection que FREDO y nous dit de mettre si la fenetre elle peut pas etre crée 
If OpenWindow(#Fenetre, x, y, LargeurInterne, HauteurInterne, Titre$ [, Options [, FenetreMereID]])
Code : Tout sélectionner
if (RegisterClassEx (&wincl) == false) // On enregistre la classe déclarée avec WNDCLASSEX
  return 0 ;   //  et en cas d'erreur on quitte le programme
Et ça tout le monde y connait....car FREDO Y s'est fait un fion comme ça, pour toutes nous les repertorier avec un underscore derriere  
 
Bon je crois que fait le tour de la fenetre...enfin presque.
"J'ai rien compris a la classe"..
WNDCLASSEX wincl;
Mais j'ai l'habitude, ma femme me dit ça tous les jours  
 
Et reste du flou pour le retour d'evenement que je suppose en callback (Trop malin ce KCC c'est ecris partout 

 )
Code : Tout sélectionner
MSG messages;
  while (GetMessage (&messages, NULL, 0, 0)){
   TranslateMessage(&messages);
   DispatchMessage(&messages);
  }
  return messages.wParam;
Je sais pas quand j'aurais le temps de me remettre la dessus....
Mais bon...grace à vous....j'ai deja un debut
Demain j'suis puni de PC...faut que je sorte avec ma femme  

Pis j'ai aussi mon organigramme et mon prog de decoupe de zic en morceau tout "pourite" à finir...  
 
On chome pas dans la KCC Industrie CORPORATION  
 
Encore merci à tous...et si vous voyez une erreur que j'aurais fait ou si je m'y prend mal....
Ca m'etonnerais...mais on sait jamais pour une fois  

Hesitez pas....gentillement...mais hesitez pas  
Lundi, j'aurais de la corne sur le dessus des mains
Car elles vont frotter les murs des couloirs du bureau....
J'vais ecarter les bras, me mettre de travers pour passer les portes, en entrant dans le bureau en disant :
"Ce Week end avec les copains....j'ai codé en C, ma premiere fenetre, mon cher  

, t'en ai ou toi dans tes macros de VBA !!  

"
Trop cool il est ce PB...trop cool, sans parler des "pubissiens"...euhh !! Purbasiciens..enfin vous quoi  !!!! 
 
Code : Tout sélectionner
#include <windows.h>
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
HWND hWnd;
const HBRUSH hCouleur_Jaune   =  CreateSolidBrush(RGB(255,255,0));
HBRUSH hBackground = hCouleur_Jaune;
static char szClassName[ ] = "Fenêtre Windows simple";
int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpcmdLine, int nCmdShow){
 WNDCLASSEX wincl;
 wincl.hInstance = hThisInstance;
 wincl.lpfnWndProc = WindowProcedure;
 wincl.hbrBackground = hBackground;
 wincl.style = CS_HREDRAW | CS_VREDRAW;
 wincl.lpszClassName = szClassName;
 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;
 if (RegisterClassEx (&wincl) == false) // On enregistre la classe déclarée avec WNDCLASSEX
  return 0 ;   //  et en cas d'erreur on quitte le programme
 hWnd = CreateWindowEx (0, szClassName, "Fenetre simple", WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX, CW_USEDEFAULT, CW_USEDEFAULT, 644, 475, HWND_DESKTOP, NULL, hThisInstance, NULL);
 ShowWindow(hWnd, nCmdShow);
 MSG messages;
  while (GetMessage (&messages, NULL, 0, 0)){
   TranslateMessage(&messages);
   DispatchMessage(&messages);
  }
  return messages.wParam;
  
 }
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){
 switch (message){
  case WM_DESTROY:
   PostQuitMessage (0);       // envoie un message WM_QUIT dans la file d'attente
   break;
  default:
   return DefWindowProc (hwnd, message, wParam, lParam);
 }
 return 0;
}