Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Лабораторная работа по «Системное программирование»

Автор:   •  Октябрь 25, 2018  •  Лабораторная работа  •  4,075 Слов (17 Страниц)  •  739 Просмотры

Страница 1 из 17

Кафедра «Информатика»

Лабораторная работа  № 1

по дисциплине: «Системное программирование»

Выполнил студент

Проверил старший преподаватель

Город 2018

Цель работы: Научиться управлять одним приложением через другое

Задание:

1 приложение ( Чек-бокс и кнопка), 2 приложение (рисует и переворачивает домик во втором окне)

Листинг программы:

Main.cpp:

// Main.cpp: определ¤ет точку входа дл¤ приложени¤.

//

#include "stdafx.h"

#include "Main.h"

#define ID_ADD 1

#define ID_CHBOX 2

#define MAX_LOADSTRING 100

// √лобальные переменные:

HINSTANCE hInst;                                // текущий экземпл¤р

WCHAR szTitle[MAX_LOADSTRING];                  // “екст строки заголовка

WCHAR szWindowClass[MAX_LOADSTRING];            // им¤ класса главного окна

static HWND SupportWindow;

// ќтправить объ¤влени¤ функций, включенных в этот модуль кода:

ATOM                MyRegisterClass(HINSTANCE hInstance);

BOOL                InitInstance(HINSTANCE, int);

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

INT_PTR CALLBACK    About(HWND, UINT, WPARAM, LPARAM);

int APIENTRY wWinMain(_In_ HINSTANCE hInstance,

                     _In_opt_ HINSTANCE hPrevInstance,

                     _In_ LPWSTR    lpCmdLine,

                     _In_ int       nCmdShow)

{

    UNREFERENCED_PARAMETER(hPrevInstance);

    UNREFERENCED_PARAMETER(lpCmdLine);

    // TODO: разместите код здесь.

    // »нициализаци¤ глобальных строк

    LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);

    LoadStringW(hInstance, IDC_MAIN, szWindowClass, MAX_LOADSTRING);

    MyRegisterClass(hInstance);

    // ¬ыполнить инициализацию приложени¤:

    if (!InitInstance (hInstance, nCmdShow))

    {

        return FALSE;

    }

    HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_MAIN));

    MSG msg;

    // ÷икл основного сообщени¤:

    while (GetMessage(&msg, nullptr, 0, 0))

    {

        if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))

        {

            TranslateMessage(&msg);

            DispatchMessage(&msg);

        }

    }

    return (int) msg.wParam;

}

//

//  ‘”Ќ ÷»я: MyRegisterClass()

//

//  Ќј«Ќј„≈Ќ»≈: регистрирует класс окна.

//

ATOM MyRegisterClass(HINSTANCE hInstance)

{

    WNDCLASSEXW wcex;

    wcex.cbSize = sizeof(WNDCLASSEX);

    wcex.style          = CS_HREDRAW | CS_VREDRAW;

    wcex.lpfnWndProc    = WndProc;

    wcex.cbClsExtra     = 0;

    wcex.cbWndExtra     = 0;

    wcex.hInstance      = hInstance;

    wcex.hIcon          = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MAIN));

    wcex.hCursor        = LoadCursor(nullptr, IDC_ARROW);

    wcex.hbrBackground  = (HBRUSH)(COLOR_WINDOW+1);

    wcex.lpszMenuName   = MAKEINTRESOURCEW(IDC_MAIN);

    wcex.lpszClassName  = szWindowClass;

    wcex.hIconSm        = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));

    return RegisterClassExW(&wcex);

}

//

//   ‘”Ќ ÷»я: InitInstance(HINSTANCE, int)

//

//   Ќј«Ќј„≈Ќ»≈: сохран¤ет обработку экземпл¤ра и создает главное окно.

//

//    ќћћ≈Ќ“ј–»»:

//

//        ¬ данной функции дескриптор экземпл¤ра сохран¤етс¤ в глобальной переменной, а также

//        создаетс¤ и выводитс¤ на экран главное окно программы.

//

BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)

{

   hInst = hInstance; // —охранить дескриптор экземпл¤ра в глобальной переменной

   HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,

      CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);

   if (!hWnd)

   {

      return FALSE;

   }

   ShowWindow(hWnd, nCmdShow);

   UpdateWindow(hWnd);

   return TRUE;

}

//

//  ‘”Ќ ÷»я: WndProc(HWND, UINT, WPARAM, LPARAM)

//

//  Ќј«Ќј„≈Ќ»≈:  обрабатывает сообщени¤ в главном окне.

...

Скачать:   txt (14.9 Kb)   pdf (138.8 Kb)   docx (17.8 Kb)  
Продолжить читать еще 16 страниц(ы) »
Доступно только на Essays.club