/**************/ /* about.c */ /**************************************************************************** PROGRAM: ABOUT.C PURPOSE: Lyhyt malliohjelma parin nappulan ikkunasta PROJECT: about.c vaihtaja.def TEHTÄVIÄ: Editor: Vesa Lappalainen 10.11.1992 ****************************************************************************/ #include /* Tarvitaan kaikissa Windows C-ohjelmissa */ #define CALLBACK_E CALLBACK _export /* Nyt .DEF tiedosto ei tarvitse EXPORT*/ #define WCLASSNAME "WMultiWClass" /***************************************************************************/ BOOL CALLBACK_E About(HWND hDlg,unsigned message,WPARAM wParam,LPARAM lParam) { #pragma argsused switch (message) { case WM_INITDIALOG: return TRUE; case WM_COMMAND: if ( wParam == IDOK || wParam == IDCANCEL ) { DestroyWindow(hDlg); return TRUE; } break; } return FALSE; } /***************************************************************************/ LRESULT CALLBACK_E MAbout(HWND hDlg,unsigned message,WPARAM wParam,LPARAM lParam) { LONG ret = About(hDlg,message,wParam,lParam); if ( ret ) if ( ret != TRUE ) return ret; else return NULL; return (DefWindowProc(hDlg, message, wParam, lParam)); } /***************************************************************************/ int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { #pragma argsused WNDCLASS wc; /* Ikkunaluokka */ HWND hWnd; /* Pääikkunan kahva */ MSG msg; /* Viesti */ if (!hPrevInstance) { /* Onko muita esiintymiä käynnisssä? */ wc.style = NULL; wc.lpfnWndProc = MAbout; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInstance; wc.hIcon = LoadIcon(hInstance, "Ikoni"); wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = GetStockObject(GRAY_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = WCLASSNAME; if (!RegisterClass(&wc)) return (FALSE); } hWnd = CreateWindow(WCLASSNAME,"About",WS_OVERLAPPEDWINDOW, 20,20,400,400, NULL,NULL,hInstance,NULL); CreateWindow("Button","OK", 0* WS_CAPTION | 1* WS_BORDER | 0* WS_DLGFRAME | 0* WS_VSCROLL | 0* WS_HSCROLL | 0* WS_SYSMENU | 0* WS_THICKFRAME | 0* WS_MINIMIZEBOX | 0* WS_MAXIMIZEBOX | 0* WS_POPUP | 1* WS_CHILD | 1* WS_VISIBLE , 10,30,100,30,hWnd,(HMENU)IDOK,hInstance,NULL); if (!hWnd) return (FALSE); ShowWindow(hWnd, nCmdShow); /* Näytetään ikkuna */ UpdateWindow(hWnd); /* Lähetetään WM_PAINT viesti */ while (GetMessage(&msg,NULL,NULL,NULL)) { TranslateMessage(&msg); /* Tulkitaan virtuaaliset näp. koodit */ DispatchMessage(&msg); /* Lähetetään viesti ikkunalle */ } return (msg.wParam); /* Palautetaan PostQuitMessage-funktion arvo */ }