/* ----------------------------- MAININIT.C -------------------------- * Inizializzazioni e conclusioni principali * ---------------------------------------------------------------- */ #define STRICT #include <Windows.h> #include "dlg2.h" #define TOPCLASS "Dlg" // Classe della finestra principale // ---- Riferimenti esterni /* ---------------------------- TopInit ----------------------------- * Creazione ed inizializzazione della finestra principale * ---------------------------------------------------------------- */ static BOOL TopInit (LPSTR lpCmdLine, int nCmdShow) { WNDCLASS wc; // Struttura classe finestra HWND hWnd; // Finestra creata BOOL bOk = FALSE; // Valore ritorno char szTitolo [50]; // Titolo finestra long FAR PASCAL TopWndProc (HWND, unsigned, WORD, DWORD); do { hAccel = NULL; // Nessun acceleratore // ---- Memorizza la classe della finestra if (!hPrevInst) // Solo se 1ma istanza { wc.hCursor = LoadCursor (NULL, IDC_ARROW); wc.hIcon = LoadIcon (hInst, MAKEINTRESOURCE(TOPICON)); wc.lpszMenuName = MAKEINTRESOURCE (TOPMENU); wc.lpszClassName = TOPCLASS; wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wc.hInstance = hInst; wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)TopWndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; bOk = RegisterClass (&wc); if (!bOk) break; } // ---- Creazione finestra LoadString (hInst, TOPTITOLO, szTitolo, sizeof szTitolo); hWnd = CreateWindow (TOPCLASS, szTitolo, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, LoadMenu (hInst, MAKEINTRESOURCE (TOPMENU)), hInst, NULL); if (!hWnd) break; // ---- Mostra la finestra ShowWindow (hWnd, nCmdShow); UpdateWindow (hWnd); bOk = TRUE; // La creazione Š avvenuta correttamente } while (0); return bOk; } /* ------------------------------ MainInit --------------------------- * Inizializzazioni, chiamate dal main * ---------------------------------------------------------------- */ BOOL FAR MainInit (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { BOOL bOk = FALSE; // Risultato do { // ---- Inizializzazioni generali hInst = hInstance; // Istanza corrente hPrevInst = hPrevInstance; // Istanza precedente // ---- Creazione della finestra principale if (!TopInit (lpCmdLine, nCmdShow)) break; // ---- Uscita normale bOk = TRUE; } while (0); return bOk; } /* ------------------------------ MainConc --------------------------- * Conclusioni, chiamate dal main * ---------------------------------------------------------------- */ VOID FAR MainConc (VOID) { return; }