Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef UNICODE
- #define UNICODE
- #endif
- #include <windows.h>
- HWND hwnd, hwnd_2, hwnd_3, hwnd_4;
- int counter = 0, ScreenX, ScreenY;
- LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
- void Change_pos_after_lbd()
- {
- int dividedheight = ScreenY / 2;//dziele wysokosc by uzyskac rozmiar Y zeby zakryc caly ekran
- int dividedwidth = ScreenX / 2;//dziele szerokosc by uzyskac rozmiar Y zeby zakryc caly ekran
- //MoveWindow(uchwyt, posX, posY, rozmiarX, rozmiarY, BOOL);
- MoveWindow(hwnd, 0, 0, dividedwidth, dividedheight, TRUE);
- ShowWindow(hwnd, SW_SHOW);
- UpdateWindow(hwnd);
- MoveWindow(hwnd_2, ScreenX - dividedwidth, ScreenY - dividedheight, dividedwidth, dividedheight, TRUE);
- ShowWindow(hwnd_2, SW_SHOW);
- UpdateWindow(hwnd_2);
- MoveWindow(hwnd_3, ScreenX - dividedwidth, 0, dividedwidth, dividedheight, TRUE);
- ShowWindow(hwnd_3, SW_SHOW);
- UpdateWindow(hwnd_3);
- MoveWindow(hwnd_4, 0, ScreenY - dividedheight, dividedwidth, dividedheight, TRUE);
- ShowWindow(hwnd_4, SW_SHOW);
- UpdateWindow(hwnd_4);
- }
- void Change_pos_after_rbd()
- {
- int dividedheight = ScreenY / 4; //dziele wysokosc by uzyskac rozmiar Y zeby zakryc caly ekran
- MoveWindow(hwnd, 0, 0, ScreenX, dividedheight, TRUE);
- ShowWindow(hwnd, SW_SHOW);
- UpdateWindow(hwnd);
- MoveWindow(hwnd_2, 0, dividedheight, ScreenX, dividedheight, TRUE);
- ShowWindow(hwnd_2, SW_SHOW);
- UpdateWindow(hwnd_2);
- MoveWindow(hwnd_3, 0, dividedheight * 2, ScreenX, dividedheight, TRUE);
- ShowWindow(hwnd_3, SW_SHOW);
- UpdateWindow(hwnd_3);
- MoveWindow(hwnd_4, 0, dividedheight * 3, ScreenX, dividedheight, TRUE);
- ShowWindow(hwnd_4, SW_SHOW);
- UpdateWindow(hwnd_4);
- }
- int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR pCmdLine, int nCmdShow) {
- //Zarejestrowanie okna
- const wchar_t CLASS_NAME[] = L"Moje okno";
- ScreenX = GetSystemMetrics(SM_CXSCREEN); //Pobranie szerokosci ekranu
- ScreenY = GetSystemMetrics(SM_CYSCREEN); //Pobranie wysokosci ekranu
- WNDCLASSEX wc = { 0 };
- wc.cbSize = sizeof(WNDCLASSEX);
- wc.lpfnWndProc = WindowProc;
- wc.hInstance = hInstance;
- wc.lpszClassName = CLASS_NAME;
- wc.lpszMenuName = NULL;
- wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
- if (!RegisterClassEx(&wc))
- {
- MessageBox(NULL, TEXT("blad rejestracji"), TEXT("Tytul"), MB_OK);
- }
- //Stworzenie Okna
- hwnd = CreateWindowEx(0, CLASS_NAME, L"HEJ, JESTEM OKNO", WS_OVERLAPPEDWINDOW,
- /*Rozmiar i pozycja*/ CW_USEDEFAULT, CW_USEDEFAULT, 400, 400, 0, //Ojciec
- 0, //Menu
- hInstance, //uchwyt Instancji
- 0 //Dodatkowe dane aplikacji
- );
- counter++;
- hwnd_2 = CreateWindowEx(0, CLASS_NAME, L"HEJ, JESTEM OKNO", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 400, 400, 0, 0, hInstance, 0);
- counter++;
- hwnd_3 = CreateWindowEx(0, CLASS_NAME, L"HEJ, JESTEM OKNO", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 400, 400, 0, 0, hInstance, 0);
- counter++;
- hwnd_4 = CreateWindowEx(0, CLASS_NAME, L"HEJ, JESTEM OKNO", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 400, 400, 0, 0, hInstance, 0);
- counter++;
- if (hwnd == NULL)
- {
- MessageBox(NULL, TEXT("blad tworzenia okna"), TEXT("Tytul"), MB_OK);
- UnregisterClass(CLASS_NAME, hInstance);
- return 0;
- }
- ShowWindow(hwnd, nCmdShow);
- UpdateWindow(hwnd);
- ShowWindow(hwnd_2, nCmdShow);
- UpdateWindow(hwnd_2);
- ShowWindow(hwnd_3, nCmdShow);
- UpdateWindow(hwnd_3);
- ShowWindow(hwnd_4, nCmdShow);
- UpdateWindow(hwnd_4);
- MSG msg = {};
- while (GetMessage(&msg, 0, 0, 0))
- {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- UnregisterClass(CLASS_NAME, hInstance);
- return 0;
- }
- LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
- {
- switch (uMsg)
- {
- case WM_LBUTTONDOWN:
- Change_pos_after_lbd();
- break;
- case WM_RBUTTONDOWN:
- Change_pos_after_rbd();
- break;
- case WM_CLOSE:
- counter--;
- if (MessageBox(hwnd, TEXT("Czy na pewno chcesz zamknąć?"), TEXT("Pytanie"), MB_YESNO | MB_ICONQUESTION) == IDYES)
- {
- DestroyWindow(hwnd);
- }
- break;
- case WM_DESTROY:
- if (counter == 0)
- {
- MessageBox(hwnd, TEXT("Koniec Dzialania aplikacji!"), TEXT("Koniec"), MB_OK | MB_ICONSTOP);
- PostQuitMessage(0);
- }
- break;
- default:
- return DefWindowProc(hwnd, uMsg, wParam, lParam);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement