// 9 licznik_l licznik_r.cpp: Określa punkt wejścia dla aplikacji.
//
#include "stdafx.h"
#include "9 licznik_l licznik_r.h"
#include <Windows.h>
TCHAR Class_Name[] = TEXT("Klasa");
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
static TCHAR bufor[128];
static int licznik_l = 0, licznik_r = 0;
switch (msg)
{
case WM_LBUTTONDOWN:
{
licznik_l++;
wsprintf(bufor, TEXT("Lewy przycisk = %d, prawy przycisk = %d"), licznik_l, licznik_r);
SetWindowText(hwnd, bufor);
if (licznik_l != 0 && licznik_r!= 0)
if (licznik_l == licznik_r)
{
if (MessageBox(hwnd, TEXT("Czy chcesz wyzerować liczniki?"), TEXT("Pytanie"), MB_OKCANCEL) == IDOK)
{
licznik_l = 0;
licznik_r = 0;
SetWindowText(hwnd, TEXT("Lewy przycisk = 0, prawy przycisk = 0"));
}
}
break;
}
case WM_RBUTTONDOWN:
{
licznik_r++;
wsprintf(bufor, TEXT("Lewy przycisk = %d, prawy przycisk = %d"), licznik_l, licznik_r);
SetWindowText(hwnd, bufor);
if (licznik_l != 0 && licznik_r != 0)
if (licznik_r == licznik_l)
{
if (MessageBox(hwnd, TEXT("Czy chcesz wyzerować liczniki?"), TEXT("Pytanie"), MB_OKCANCEL) == IDOK)
{
licznik_l = 0;
licznik_r = 0;
SetWindowText(hwnd, TEXT("Lewy przycisk = 0, prawy przycisk = 0"));
}
}
break;
}
case WM_CREATE: break;
case WM_CLOSE:
{
if (MessageBox(0, TEXT("Czy chcesz wyjść?"), TEXT("Pytanie"), MB_OKCANCEL) == IDOK)
DestroyWindow(hwnd);
break;
}
case WM_DESTROY:
{
PostQuitMessage(0);
break;
}
default: return DefWindowProc(hwnd, msg, wParam, lParam); break;
}
return 0;
}
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR nCmdLine, INT nCmdShow)
{
MSG Komunikat;
HWND okno;
WNDCLASSEX wc;
wc.cbSize = sizeof(WNDCLASSEX);
wc.cbClsExtra = NULL;
wc.cbWndExtra = NULL;
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wc.hCursor = LoadCursor(0, IDC_ARROW);
wc.hIcon = LoadIcon(0, IDI_APPLICATION);
wc.hIconSm = 0;
wc.style = 0;
wc.hInstance = hInst;
wc.lpfnWndProc = WndProc;
wc.lpszClassName = Class_Name;
wc.lpszMenuName = 0;
if (!RegisterClassEx(&wc))
{
MessageBox(okno, TEXT("Rejestracja nie powiodła się"), TEXT("Błąd"), MB_ICONWARNING);
return 1;
}
okno = CreateWindowEx(WS_EX_CLIENTEDGE, Class_Name, TEXT("Lewy przycisk = 0, prawy przycisk = 0"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 600, 600, NULL, NULL, hInst, NULL);
if (okno == NULL)
{
MessageBox(okno, TEXT("Stworzenie okna nie udane"), TEXT("Błąd"), MB_ICONWARNING);
return 1;
}
ShowWindow(okno, SW_SHOW);
UpdateWindow(okno);
while (GetMessage(&Komunikat, okno, 0, 0)>0)
{
TranslateMessage(&Komunikat);
DispatchMessage(&Komunikat);
}
return Komunikat.wParam;
}