Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ИГС / IGS_lab1 / IGS_lab1 / IGS_lab1

.cpp
Скачиваний:
2
Добавлен:
17.04.2018
Размер:
2.26 Кб
Скачать
// IGS_lab1.cpp : Defines the entry point for the application.
//

#include "stdafx.h"
#include "IGS_lab1.h"
#include <windows.h>


// Forward declarations of functions included in this code module:

LRESULT CALLBACK	WndProc(HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain(HINSTANCE hInstance,
                    HINSTANCE hPrevInstance,
                    LPTSTR    lpCmdLine,
                    int       nCmdShow)
{
	UNREFERENCED_PARAMETER(hPrevInstance);
	UNREFERENCED_PARAMETER(lpCmdLine);

	WCHAR cname[] = L"Class";
	WCHAR title[] = L"Hello   API Windows";

	MSG msg;
	
	WNDCLASS wc;

	wc.style = 0;
	wc.lpfnWndProc = (WNDPROC)WndProc;
	wc.cbClsExtra = 0;
	wc.cbWndExtra = 0;
	wc.hInstance = hInstance;
	wc.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_APPLICATION);
	wc.hCursor = LoadCursor(NULL, IDC_ARROW);
	wc.hbrBackground = (HBRUSH)GetStockObject(GRAY_BRUSH);
	wc.lpszMenuName = 0;
	wc.lpszClassName = cname;

	if (!RegisterClass(&wc))  //регистрация класса окна приложения
		return 0;

	HWND hWnd;       // дескриптор окна приложения

	hWnd = CreateWindow(cname,
		title,
		WS_OVERLAPPEDWINDOW,
		CW_USEDEFAULT,
		CW_USEDEFAULT,
		CW_USEDEFAULT,
		CW_USEDEFAULT,
		NULL,          //идентификатор окна-родителя     
		NULL,          //идентификатор меню
		hInstance,     //идентификатор приложения
		NULL);

	if (!hWnd)
		return 0;



	// Рисуем окно. Для этого после функции ShowWindow,
	// рисующей  окно, вызываем функцию UpdateWindows,
	// посылающую сообщение WM_PAINT в функцию окна
	//--------------------------------------------------------------------------
	ShowWindow(hWnd, nCmdShow);
	UpdateWindow(hWnd);


	// Запускаем цикл обработки сообщений
	//-------------------------------------------------------------------------

	while (GetMessage(&msg, NULL, 0, 0))
	{
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}

	return 0;
}


LRESULT CALLBACK  WndProc(HWND hWnd, UINT message,
	WPARAM wParam, LPARAM lParam)
{

	switch (message)
	{

		//сообщение при закрытии окна
	case WM_DESTROY:
		PostQuitMessage(0);  //выход из цикла сообщений
		break;

	default:
		return DefWindowProc(hWnd, message, wParam, lParam);
	}

	return 0;

}
Соседние файлы в папке IGS_lab1