Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Windows.h>
- HINSTANCE Instancja;
- int CmdShow;
- TCHAR NazwaKlasy[] = L"Klasa";
- unsigned int Licznik = 0;
- LRESULT CALLBACK WndProc(HWND hwnd,UINT uMsg, WPARAM wParam,LPARAM lParam) {
- switch( uMsg )
- {
- case WM_CLOSE:
- if (MessageBox(hwnd, L"Czy chcesz zamknac okno ?", L"Zamykanie", MB_YESNO | MB_ICONQUESTION) == IDYES) {
- DestroyWindow(hwnd);
- --Licznik;
- if (Licznik == 0) {
- MessageBox(0, L"Koniec Programu", L"Koniec", MB_OK | MB_ICONINFORMATION);
- PostQuitMessage(0);
- }
- }
- break;
- case WM_LBUTTONDOWN :
- if (Licznik == 5 ) {
- MessageBox(hwnd, L"Nie mozna utworzyc wiecej okien !", L"Blad", MB_OK | MB_ICONERROR);
- } else {
- HWND bufor_uchwytu;
- bufor_uchwytu = CreateWindowEx(0, NazwaKlasy, L"Okienko", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 300, 350, NULL, NULL, Instancja, NULL);
- if (bufor_uchwytu == 0) {
- MessageBox(0, L"Blad tworzenia nowego okna :(", L"Blad", MB_OK | MB_ICONERROR);
- break;
- } else {
- ++Licznik;
- ShowWindow(bufor_uchwytu, CmdShow);
- UpdateWindow(bufor_uchwytu);
- }
- }
- default:
- return DefWindowProc( hwnd, uMsg, wParam, lParam );
- }
- return 0;
- }
- ATOM WINAPI RejestrujKlase(WNDCLASSEX &wc) {
- wc.cbClsExtra = 0;
- wc.cbSize = sizeof(WNDCLASSEX);
- wc.cbWndExtra = 0;
- wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
- wc.hCursor = LoadCursor( NULL, IDC_ARROW );
- wc.hIcon = 0;
- wc.hIconSm = 0;
- wc.hInstance = Instancja;
- wc.lpfnWndProc = WndProc;
- wc.lpszClassName = NazwaKlasy;
- wc.lpszMenuName = 0;
- wc.style = 0;
- return RegisterClassEx(&wc);
- }
- int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
- Instancja = hInstance;
- MSG msg;
- WNDCLASSEX Klasa;
- HWND Uchwyt;
- CmdShow = nCmdShow;
- if (RejestrujKlase(Klasa) == 0) {
- MessageBox (0, L"Blad rejestracji klasy !", L"Blad", MB_OK | MB_ICONERROR);
- return 1;
- }
- Uchwyt = CreateWindowEx(0, NazwaKlasy, L"Okienko", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 300, 350, NULL, NULL, Instancja, NULL);
- if (Uchwyt == 0) {
- MessageBox (0, L"Blad w tworzeniu okna", L"Blad", MB_OK | MB_ICONERROR);
- return 1;
- }
- ++Licznik;
- ShowWindow(Uchwyt, CmdShow);
- UpdateWindow(Uchwyt);
- while( GetMessage(&msg, 0, 0, 0)) {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- return msg.wParam;
- }
Advertisement
Add Comment
Please, Sign In to add comment