#include "Window.h" // https://learn.microsoft.com/en-us/windows/win32/learnwin32/creating-a-window INT Window::init(HINSTANCE hInstance, UINT width, UINT height) { // 1. describe window class WNDCLASS wc = {}; wc.hInstance = hInstance; wc.lpszClassName = TEXT("D3D9"); // class name wc.lpfnWndProc = WindowProc; // callback function for windows to communicate with our application wc.hbrBackground = CreateSolidBrush(RGB(0, 255, 0)); // 2. register window class if (!RegisterClass(&wc)) return 100; // 3. adjust window size (optional) // 4. create window instance _hWnd = CreateWindow( wc.lpszClassName, // class name of window class to be instantiated wc.lpszClassName, // window title WS_OVERLAPPEDWINDOW, // visual style 100, 100, // window position (left-top corner) width, height, // window size nullptr, // handle to parent window nullptr, // handle to menu instance hInstance, nullptr // pointer to optional parameter ); if (_hWnd == nullptr) return 110; // 5. show window ShowWindow(_hWnd, SW_SHOW); SetFocus(_hWnd); return 0; } BOOL Window::run() { // 6. run window return true; } void Window::deInit() { } LRESULT WindowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { return DefWindowProc(hWnd, msg, wParam, lParam); }