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;
}