Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<Windows.h>
- #include<vector>
- using namespace std;
- vector<HWND> Okna;
- HINSTANCE glob;
- unsigned short max_size = 10;
- int skokx, skoky = 30;
- TCHAR ClassName[] = TEXT("KLASA_OKIEN");
- LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
- {
- switch(uMsg)
- {
- case WM_DESTROY:
- PostQuitMessage(0); break;
- case WM_LBUTTONDOWN:
- {
- if(Okna.size() < max_size)
- Okna.push_back(CreateWindowEx(0, ClassName, TEXT("Okno"), WS_OVERLAPPEDWINDOW | WS_VISIBLE, 40+Okna.size()*skokx,40+Okna.size()*skoky, 300, 300, 0, 0, glob, 0));
- else
- MessageBox(hWnd, TEXT("ERROR: Za dużo okien"), TEXT("ERROR"), NULL);
- }
- break;
- case WM_RBUTTONDOWN:
- {
- for(int i=0; i < Okna.size(); ++i)
- {
- DestroyWindow(Okna[i]);
- Okna.erase(Okna.begin() +i);
- }
- }break;
- case WM_CLOSE:
- PostQuitMessage( 0 );
- break;
- default:
- return DefWindowProc(hWnd, uMsg, wParam, lParam);
- }
- return 0;
- }
- int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
- {
- glob = hInstance;
- WNDCLASSEX wc;
- ZeroMemory(&wc, sizeof(WNDCLASSEX));
- wc.cbClsExtra = 0;
- wc.cbSize = sizeof(WNDCLASSEX);
- wc.cbWndExtra = 0;
- wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
- wc.hCursor = LoadCursor(NULL, IDC_ARROW);
- wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
- wc.hInstance = hInstance;
- wc.lpfnWndProc = &WndProc;
- wc.lpszClassName = ClassName;
- wc.lpszMenuName = NULL;
- wc.style = 0;
- RegisterClassEx(&wc);
- if(RegisterClassEx(&wc)!=0)
- {
- MessageBox(NULL, TEXT("ERROR: Brak rejestracji"), TEXT("ERROR"), NULL);
- return 1;
- }
- Okna.push_back(CreateWindowEx(0, ClassName, TEXT("Okno"), WS_OVERLAPPEDWINDOW | WS_VISIBLE, 40,40, 300, 300, 0, 0, hInstance, 0 ));
- if(Okna.front() == NULL)
- {
- MessageBox(NULL, TEXT("ERROR: Brak okna"), TEXT("ERROR"), NULL);
- return 2;
- }
- ShowWindow(Okna.front(), nCmdShow);
- UpdateWindow(Okna.front());
- MSG msg;
- while(GetMessage(&msg,0,0,0))
- {
- TranslateMessage( &msg );
- DispatchMessage( &msg );
- }
- UnregisterClass( ClassName, hInstance );
- return static_cast<int>(msg.wParam);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement