Win32 pohja
Mureakuha
#include <windows.h> // otsikkotiedosto LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; // ikkunaproseduurifunktion esittely int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { MSG msg ; // sanomastrukstuurimuuttujan esittely WNDCLASSEX wndclass ; // ikkunan luokkastruktuurimuuttujan esittely wndclass.cbSize = sizeof (wndclass) ; // struktuurin koko wndclass.style = CS_HREDRAW | CS_VREDRAW ; // ikkunan tyyli wndclass.lpfnWndProc = WndProc ; // ikkunaproseduurin nimi (sanomaketjun ohittaville viesteille) wndclass.cbClsExtra = 0 ; // ikkunan luokan sisältä ohjelman... wndclass.cbWndExtra = 0 ; // ...omaan käyttöön varattua tilaa wndclass.hInstance = hInstance ; // ohjelman ilmentymän kahva wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ; // suuri ikoni wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ; // kursori wndclass.hbrBackground = (HBRUSH) COLOR_WINDOW ; // taustaväri wndclass.lpszMenuName = NULL ; // valikon kahva wndclass.lpszClassName = "OmaLuokka" ; // ikkunan luokan nimi wndclass.hIconSm = LoadIcon (NULL, IDI_APPLICATION) ; // pieni ikoni RegisterClassEx (&wndclass) ; // ikkunan luokan rekisteröinti HWND hwnd = CreateWindow ("OmaLuokka", // ikkunan luokan nimi "Päivää maailma!", // ikkunan otsikko WS_OVERLAPPEDWINDOW, // ikkunan tyyli CW_USEDEFAULT, // x-positio aluksi CW_USEDEFAULT, // y-positio aluksi CW_USEDEFAULT, // leveys aluksi CW_USEDEFAULT, // korkeus aluksi NULL, // emoikkunan kahva NULL, // ikkunan valikon kahva hInstance, // ohjelman ilmentymän kahva NULL) ; // luontiparametrit ShowWindow (hwnd, iCmdShow) ; // ikkunan piirto while (GetMessage (&msg, NULL, 0, 0) == TRUE) // sanomasilmukka { TranslateMessage (&msg) ; // sanomien käsittely ja... DispatchMessage (&msg) ; // ...ikkunaproseduurin kutsu } return msg.wParam ; // käyttöjärjestelmälle palautuva arvo } LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam) // ikkunaproseduuri { switch (iMsg) // sanomien käsittelyrakenne { case WM_DESTROY: // lopetussanoman sanomakäsittelijä PostQuitMessage (0); // lopetuksen vahvistus return 0; } return DefWindowProc (hwnd, iMsg, wParam, lParam) ; // sanomien oletuskäsittely }
Tulos:
Tämän jälkeen lomakkeelle voi tehdä seuraavaa:
- Liikuttaa otsikkopalkista
- Suurentaa ja pienentää reunoista
- Maksimoida ja minimoida oikean yläkulman napeilla ja tuplanapauttamalla otsikkopalkkia
- Sulkea oikean yläkulman napilla
- Avata syteemivalikon vasemmasta yläkulmasta ja suurentaa, pienentää ja sulkea sieltä
| Windows.h otsikkotiedoston lisäys Ikkunaproseduurifunktion esittely |
| WinMain() |
| Muuttujien esittely Tulevan lomakkeen ominaisuuksien asetus |
| Ikkunaproseduuri |
| WM_DESTROY sanoman käsittely Määrittelemättömien sanomien käsittely |
Tämän dokumentin kopiointi, levittäminen sekä muokkaaminen on sallittua GNU Free Documentation Licensen version 1.2 tai uudemman Free Software Foundationin julkaiseman version mukaisesti, ilman muuttumattomuuslauseketta tai kansitekstejä. Tätä koskee vastuuvapaus.
Kopio lisenssistä (englanniksi) löytyy täältä.
Kopio lisenssistä (englanniksi) löytyy täältä.
Alkuperäinen (c) Petteri Hämäläinen
