1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| int APIENTRY WinMain( HINSTANCE W_n0inst, HINSTANCE W_n0precinst, LPTSTR W_CmdLine, int W_cdeaffich) // entier signé (32 bits)
{
n0instance = W_n0inst;
// Enregistrement fenêtre principale
WNDCLASS winclassmain;
winclassmain.hInstance = n0instance
winclassmain.lpszMenuName = Mainmenu;
winclassmain.lpszClassName = nomwinclassmain;
winclassmain.hIcon = NULL
winclassmain.hCursor = LoadCursor(NULL,IDC_ARROW);
winclassmain.hbrBackground =(HBRUSH)(COLOR_WINDOW+1);
winclassmain.style = CS_VREDRAW | CS_HREDRAW;
winclassmain.lpfnWndProc = (WNDPROC)processmainmess;
winclassmain.cbWndExtra = 0;
winclassmain.cbClsExtra = 0 ;
if ( !RegisterClass( &winclassmain ) )
return( FALSE );
//
// Enregistrement fenêtre enfant
WNDCLASS winclassfille;
winclassudo.hInstance = n0instance;
winclassudo.lpszMenuName = NULL
winclassudo.lpszClassName = nomwinclassfille;
winclassudo.hIcon = NULL;
winclassudo.hCursor = LoadCursor(NULL,IDC_ARROW);
winclassudo.hbrBackground =(HBRUSH)(COLOR_WINDOW+1);
winclassudo.style = CS_VREDRAW | CS_HREDRAW | CS_DBLCLKS;
winclassudo.lpfnWndProc = (WNDPROC)processfillemess;
winclassudo.cbWndExtra = 0;
winclassudo.cbClsExtra = 0;
if ( !RegisterClass( &winclassfille ) )
return( FALSE );
//
// création de la fenêtre principale
winmainkey = CreateWindow(nomwinclassmain, titrewinmain, WS_CAPTION | WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, largeurmain, hauteurmain, NULL, NULL, n0instance, NULL);
if ( !winmainkey ) return( FALSE );
ShowWindow( winmainkey, W_cdeaffich ); //
UpdateWindow( winmainkey ); //
//
while(GetMessage( &message, NULL, 0, 0))
{
TranslateMessage( &message );
DispatchMessage( &message );
}
return message.wParam;
}
LRESULT CALLBACK processmainmess( HWND winmainkey, UINT IDMsg, WPARAM wParam, LPARAM lParam )
{
// datas
{
case WM_CREATE :
// Initialisations
break;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDM_NEW:
winfillekey = CreateWindow(nomwinclassfille, NULL, WS_CHILD | WS_OVERLAPPEDWINDOW, 0, filletop, fillemaxsanstitre, fillemaxsanstitre+hauteurtitre, winmainkey, (HMENU)(INT)ID_fille, n0instance, NULL);
if ( !winfillekey ) return( FALSE );
ShowWindow( winfillekey, SW_SHOWDEFAULT );
//UpdateWindow( winfillekey ); //
SetFocus(winfillekey); // avec ou sans c’est pareil
break;
}
case WM_CLOSE :
DestroyWindow( winmainkey );
break;
case WM_DESTROY :
PostQuitMessage(0);
break;
case WM_QUERYENDSESSION :
DestroyWindow( winmainkey );
break;
default :
return DefWindowProc( winmainkey, IDMsg, wParam, lParam );
};
return 0;
} |
Partager