Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Windows.h> // Podstawa do WinAPI
- #include <time.h>
- HBITMAP hbmObraz = (HBITMAP)LoadImage(NULL, "Pilka.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
- HDC hdc, hdcNowy;
- PAINTSTRUCT ps;
- BITMAP bminfo;
- RECT rect;
- //(HBITMAP)LoadImage(NULL, TEXT("C:\\Users\\zapo\\OneDrive\\Dokumenty\\Visual Studio 2015\\Projects\\[PIU] Statki\\[PIU] Statki\\background.bmp"), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
- LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) {//Funkcja eventów
- switch (msg) {
- case WM_PAINT:
- {
- hdc = BeginPaint(hwnd, &ps);
- hdcNowy = CreateCompatibleDC(hdc);
- HBITMAP hbmOld = (HBITMAP)SelectObject(hdcNowy, hbmObraz);
- GetObject(hbmObraz, sizeof(bminfo), &bminfo);
- BitBlt(hdc, 50, 50, bminfo.bmWidth, bminfo.bmHeight, hdcNowy, 0, 0, SRCCOPY);
- SelectObject(hdcNowy, hbmOld);
- DeleteDC(hdcNowy);
- EndPaint(hwnd, &ps);
- }
- break;
- case WM_LBUTTONDOWN:
- break;
- case WM_CREATE: break;
- case WM_COMMAND: break;// Eventy uzytkownika
- case WM_TIMER: break;// Event czasowy
- case WM_CLOSE:// Event zamkniecia
- DestroyWindow(hwnd);
- break;
- case WM_DESTROY:// Event zamkniecia
- PostQuitMessage(0);
- break;
- default:// Nieznany event
- return DefWindowProc(hwnd, msg, wParam, lParam);
- }
- return 0;
- }
- int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR ilCmdLine, int nCmdShow) { // main
- WNDCLASSEX window; // Zmienna klasy
- MSG msg; // Zmienna wydarzenia
- TCHAR Class_Name[] = TEXT("OKNO_TEST"), Title[] = TEXT("Tytul"); // Tytuly TCHAR
- window.cbClsExtra = NULL;// Wypelnianie klasy okna //
- window.cbSize = sizeof(WNDCLASSEX);
- window.cbWndExtra = NULL;
- window.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
- window.hCursor = LoadCursor(NULL, IDC_ARROW);
- window.hIcon = LoadIcon(NULL, IDI_APPLICATION);
- window.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
- window.hInstance = hInstance;
- window.lpfnWndProc = WndProc;
- window.lpszClassName = Class_Name;
- window.lpszMenuName = 0;
- window.style = CS_VREDRAW | CS_HREDRAW;
- if (!RegisterClassEx(&window)) { // Rejestracja klasy okna .... jesli blad STOP
- MessageBox(NULL, TEXT("Błąd rejestracji okna"), TEXT("Błąd"), MB_ICONEXCLAMATION);
- return 0;
- }
- HWND hwnd = CreateWindowEx(WS_EX_WINDOWEDGE, Class_Name, Title, WS_OVERLAPPEDWINDOW | WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, 800, 600, NULL, NULL, hInstance, NULL); //Tworzenie okna
- if (hwnd == NULL) {//Sprawdzanie czy okno zostalo stworzeona
- MessageBox(NULL, TEXT("Błąd tworzenia okna"), TEXT("Błąd"), MB_ICONEXCLAMATION);
- return 0;
- }
- ShowWindow(hwnd, nCmdShow); // Wyswietlenie okna
- UpdateWindow(hwnd); // Aktualizacja okna
- // SetTimer(hwnd, NULL, 500, NULL); // Wywolanie eventy TIMER co '500' mlsc
- while (GetMessage(&msg, NULL, 0, 0)) { // Petla eventow
- TranslateMessage(&msg); // tlumacznie eventu
- DispatchMessage(&msg); // Wykonywanie eventu
- }
- if (!UnregisterClass(Class_Name, hInstance)) { // Niszczenie okna ....
- MessageBox(NULL, TEXT("Błąd niszczenia okna"), TEXT("Błąd"), MB_ICONEXCLAMATION);
- return 0;
- }
- return msg.wParam;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement