Win32 laajempipohja
Mureakuha
#include <windows.h> LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM); HINSTANCE hInstance; int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { MSG msg; WNDCLASSEX wndclass; wndclass.cbSize = sizeof (wndclass); wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = WndProc; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = 0; wndclass.hInstance = hInstance; wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION); wndclass.hCursor = LoadCursor (NULL, IDC_ARROW); wndclass.hbrBackground = (HBRUSH) COLOR_WINDOW; wndclass.lpszMenuName = NULL; wndclass.lpszClassName = "OmaLuokka"; wndclass.hIconSm = LoadIcon (NULL, IDI_APPLICATION); RegisterClassEx (&wndclass); HWND hwnd = CreateWindow ("OmaLuokka", "OmaOhjelma", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL); ShowWindow (hwnd, iCmdShow); UpdateWindow (hwnd); while (GetMessage (&msg, NULL, 0, 0)) { TranslateMessage (&msg); DispatchMessage (&msg); } return msg.wParam; } LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam) { static HWND hwndGroupbox; static HFONT hFont; switch (iMsg) { case WM_CREATE : hFont = (HFONT) GetStockObject(DEFAULT_GUI_FONT) ; hwndGroupbox = CreateWindowEx(NULL, "button", "OmaOhjelma", WS_CHILD | WS_VISIBLE | BS_GROUPBOX, 0, 0, 0, 0, hwnd, (HMENU) 0, hInstance, NULL); SendMessage (hwndGroupbox, WM_SETFONT, (WPARAM) hFont, MAKELPARAM(TRUE, 0)); return 0; case WM_COMMAND: return 0; case WM_SIZE: MoveWindow (hwndGroupbox, 10, 10, LOWORD(lParam)-20, HIWORD(lParam)-20, TRUE); return 0; case WM_DESTROY: PostQuitMessage (0); return 0; } return DefWindowProc (hwnd, iMsg, wParam, lParam); }
Lisäykset:
- Ohjelma osaa käyttää oikeaa systeemifonttia
- Lomakkeelle piirretään kehyskontrolli
- Lomaketta voi suurentaa ja pienentää ja WM_SIZE sanoma skaalaa kehyksen sitä mukaa
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
