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

ИГС / IGS_2014-2015 / Lab_01 / OnlyWin / OnlyWin / OnlyWin

.cpp
Скачиваний:
6
Добавлен:
17.04.2018
Размер:
2.67 Кб
Скачать

#include <windows.h>     



//прототип функции окна
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);


int WINAPI WinMain(HINSTANCE hInstance,       //идентификатор приложения
				   HINSTANCE hPrevInstance,
				   LPSTR     lpCmdParam, 
				   int       nCmdShow)     
{

	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;

}


Соседние файлы в папке OnlyWin
  • #
    17.04.20182.67 Кб6OnlyWin.cpp
  • #
    17.04.20183.67 Кб7OnlyWin.vcproj
  • #
    17.04.20181.42 Кб6OnlyWin.vcproj.VICTOR1.victor.user