diff --git a/Lab_2/Lab_2.sln b/Lab_2/Lab_2.sln new file mode 100644 index 0000000..5c0a6e1 --- /dev/null +++ b/Lab_2/Lab_2.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30309.148 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Lab_2", "Lab_2\Lab_2.vcxproj", "{347A8B03-40B8-4219-977E-6550BE4D640A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {347A8B03-40B8-4219-977E-6550BE4D640A}.Debug|x64.ActiveCfg = Debug|x64 + {347A8B03-40B8-4219-977E-6550BE4D640A}.Debug|x64.Build.0 = Debug|x64 + {347A8B03-40B8-4219-977E-6550BE4D640A}.Debug|x86.ActiveCfg = Debug|Win32 + {347A8B03-40B8-4219-977E-6550BE4D640A}.Debug|x86.Build.0 = Debug|Win32 + {347A8B03-40B8-4219-977E-6550BE4D640A}.Release|x64.ActiveCfg = Release|x64 + {347A8B03-40B8-4219-977E-6550BE4D640A}.Release|x64.Build.0 = Release|x64 + {347A8B03-40B8-4219-977E-6550BE4D640A}.Release|x86.ActiveCfg = Release|Win32 + {347A8B03-40B8-4219-977E-6550BE4D640A}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {91E0611B-8506-473F-B004-3EE512BA5016} + EndGlobalSection +EndGlobal diff --git a/Lab_2/Lab_2/Lab_2.cpp b/Lab_2/Lab_2/Lab_2.cpp new file mode 100644 index 0000000..e64e1e6 --- /dev/null +++ b/Lab_2/Lab_2/Lab_2.cpp @@ -0,0 +1,78 @@ +#include + +constexpr auto WINDOW_NAME = "Lab_2"; + +ATOM RegisterWindowClass(HINSTANCE); +BOOL InitWindowInstance(HINSTANCE, int); +LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); + +int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR cmdLine, int cmdShowMode) +{ + UNREFERENCED_PARAMETER(hPrevInstance); + UNREFERENCED_PARAMETER(cmdLine); + + MSG msg; + + RegisterWindowClass(hInstance); + + if (!InitWindowInstance(hInstance, cmdShowMode)) + return FALSE; + + while (GetMessage(&msg, NULL, 0, 0)) + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + + return (int)msg.wParam; +} + +ATOM RegisterWindowClass(HINSTANCE hInstance) +{ + WNDCLASSEX windowClassEx; + + windowClassEx.cbSize = sizeof(WNDCLASSEX); + windowClassEx.style = CS_HREDRAW | CS_VREDRAW; + windowClassEx.lpfnWndProc = WndProc; + windowClassEx.cbClsExtra = 0; + windowClassEx.cbWndExtra = 0; + windowClassEx.hInstance = hInstance; + windowClassEx.hIcon = LoadIcon(0, IDI_WINLOGO);; + windowClassEx.hCursor = LoadCursor(0, IDC_ARROW); + windowClassEx.hbrBackground = (HBRUSH)(COLOR_WINDOW); + windowClassEx.lpszMenuName = 0; + windowClassEx.lpszClassName = WINDOW_NAME; + windowClassEx.hIconSm = 0; + + return RegisterClassEx(&windowClassEx); +} + +BOOL InitWindowInstance(HINSTANCE hInstance, int cmdShowMode) +{ + HWND hWnd; + + hWnd = CreateWindow(WINDOW_NAME, WINDOW_NAME, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, + CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL); + + if (!hWnd) + return FALSE; + + ShowWindow(hWnd, cmdShowMode); + UpdateWindow(hWnd); + + return TRUE; +} + +LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + switch (message) + { + case WM_DESTROY: + PostQuitMessage(0); + return 0; + default: + return DefWindowProc(hWnd, message, wParam, lParam); + } + + return 0; +} diff --git a/Lab_2/Lab_2/Lab_2.vcxproj b/Lab_2/Lab_2/Lab_2.vcxproj new file mode 100644 index 0000000..1de8592 --- /dev/null +++ b/Lab_2/Lab_2/Lab_2.vcxproj @@ -0,0 +1,147 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {347a8b03-40b8-4219-977e-6550be4d640a} + Lab2 + 10.0 + + + + Application + true + v142 + MultiByte + + + Application + false + v142 + true + Unicode + + + Application + true + v142 + Unicode + + + Application + false + v142 + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + + + false + + + true + + + false + + + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Windows + true + + + + + Level3 + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/Lab_2/Lab_2/Lab_2.vcxproj.filters b/Lab_2/Lab_2/Lab_2.vcxproj.filters new file mode 100644 index 0000000..b3b5d3c --- /dev/null +++ b/Lab_2/Lab_2/Lab_2.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + \ No newline at end of file