#include <windows.h>
#define ID_CHECKBOX 501
#define ID_CHECKBOX2 502
LPSTR NazwaKlasy = "Klasa Okienka";
MSG Komunikat;
HWND hcheckbox, hcheckbox2;
LRESULT CALLBACK WndProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
WNDCLASSEX wc;
wc.cbSize = sizeof (WNDCLASSEX);
wc.style = 0;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor (NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH) (COLOR_WINDOW + 1);
wc.lpszMenuName = NULL;
wc.lpszClassName = NazwaKlasy;
wc.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
if (!RegisterClassEx(&wc))
{
MessageBox (NULL, "Ups!", "Error",
MB_ICONEXCLAMATION | MB_OK);
return 1;
}
HWND hwnd;
hwnd = CreateWindowEx (WS_EX_CLIENTEDGE, NazwaKlasy, "Okienko", WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, 240, 120, NULL, NULL, hInstance, NULL);
if (hwnd == NULL)
{
MessageBox (NULL, "Ups!", "Error", MB_ICONEXCLAMATION);
return 1;
}
ShowWindow (hwnd, nCmdShow);
UpdateWindow (hwnd);
hcheckbox = CreateWindowEx (0, "BUTTON", "Pierwszy", WS_CHILD | WS_VISIBLE | BS_CHECKBOX, 160, 190, 150, 30, hwnd, (HMENU)ID_CHECKBOX, hInstance, NULL);
hcheckbox2 = CreateWindowEx (0, "BUTTON", "Drugi", WS_CHILD | WS_VISIBLE | BS_CHECKBOX, 160, 235, 150, 30, hwnd, (HMENU)ID_CHECKBOX2, hInstance, NULL);
CheckDlgButton (hwnd, ID_CHECKBOX, BST_CHECKED); //ustaw "fajeczkę"
CheckDlgButton (hwnd, ID_CHECKBOX, BST_UNCHECKED); //usuń "fajeczkę"
while (GetMessage (&Komunikat, NULL, 0, 0))
{
TranslateMessage (&Komunikat);
DispatchMessage (&Komunikat);
}
return Komunikat.wParam;
}
LRESULT CALLBACK WndProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch (msg)
{
case WM_CLOSE:
DestroyWindow (hwnd);
break;
case WM_DESTROY:
PostQuitMessage (0);
break;
default:
return DefWindowProc (hwnd, msg, wParam, lParam);
}
return 0;
}
Jak przy pomocy funkcji CheckDlgButton ustawiać i usuwać fajkę checkboxa?