Создание приложения Windows с использованием MFC

Автор работы: Пользователь скрыл имя, 28 Марта 2012 в 20:32, лабораторная работа

Описание работы

1. Проанализировать иерархию классов библиотеки MFC. Выделить классы, используемые при создании каркаса простейшего приложения.
2. С использованием VisualStudio создать простейшее MFC-приложение без использования архитектуры документ/вид.

Файлы: 1 файл

Лаба 1 приложение MFC.docx

— 112.55 Кб (Скачать файл)

МИНИСТЕРСТВО  ОБРАЗОВАНИЯ И НАУКИ,

МОЛОДЕЖИ  И СПОРТА

 

 

 

 

 

 

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

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

      на тему: «Создание приложения Windows с использованием MFC»

 

 

 

 

Задание

 

  1. Проанализировать иерархию классов библиотеки MFC. Выделить классы, используемые при создании каркаса простейшего приложения.
  2. С использованием VisualStudio создать простейшее MFC-приложение без использования архитектуры документ/вид.
  3. Окно приложения должно обладать следующими характеристиками:

Фон окна – фиолетовый

  Курсор - IDC_IBEAM

Пиктограмма приложения - IDI_HAND

4. Используя  классы графических примитивов (CPen, CBrush, СRec и др.) нарисовать в клиентской области окна графические элементы произвольного цвета.

Перо - пунктирное

Линейные объект - дуга эллипса

Кисть со штриховкой - горизонтальная

Сплошной объект - сегмент эллипса

5. Используя  класс CFont создать шрифт с произвольными характеристиками и отобразить с его помощью в клиентской области окна список индивидуальных значений набора вариантов.

 

6. Используя  класс CBitmap отобразить в клиентской области окна заданное стандартное растровое изображение - OBM_REDUCE

 

Выбор набора вариантов по каждому  из параметров осуществляется по формуле: 
Номер-по-журналу MOD Количество-вариантов + 1

 

Номер по журналу – 1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Экранная  форма

 

 

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

 

// MainFrm.cpp : реализация класса CMainFrame

 

#include "stdafx.h"

#include "max.h"

 

#include "MainFrm.h"

 

#ifdef _DEBUG

#define new DEBUG_NEW

#endif

 

// CMainFrame

 

IMPLEMENT_DYNAMIC(CMainFrame, CFrameWndEx)

 

BEGIN_MESSAGE_MAP(CMainFrame, CFrameWndEx)

ON_WM_CREATE()

ON_WM_SETFOCUS()

END_MESSAGE_MAP()

 

// создание/уничтожение CMainFrame

 

CMainFrame::CMainFrame()

{

// TODO: добавьте код инициализации члена

}

 

CMainFrame::~CMainFrame()

{

}

 

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)

{

 

// создать представление  для размещения рабочей области  рамки

if (!m_wndView.Create(NULL, NULL, AFX_WS_DEFAULT_VIEW, CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST, NULL))

{

TRACE0("Не удалось создать окно представлений\n");

return -1;

}

 

 

}

 

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)

{

if(cs.hMenu!=NULL)

          {

              ::DestroyMenu(cs.hMenu);      // удаляем меню, если загружено

              cs.hMenu = NULL;              // для этого окна меню нет

          }

cs.lpszClass = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS,

::LoadCursor(NULL, IDC_IBEAM), NULL, ::LoadIcon( NULL, IDI_HAND));//рисуем окно с заливкой своего цвета и своим курсором

                

if( !CFrameWndEx::PreCreateWindow(cs) )

return FALSE;

 

return TRUE;

}

 

// диагностика CMainFrame

 

#ifdef _DEBUG

void CMainFrame::AssertValid() const

{

}

 

void CMainFrame::Dump(CDumpContext& dc) const

{

}

#endif //_DEBUG

 

 

// обработчики сообщений CMainFrame

 

void CMainFrame::OnSetFocus(CWnd* /*pOldWnd*/)

{

 

}

 

BOOL CMainFrame::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo)

{

 

return CFrameWnd::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);

}

 

void CMainFrame::OnViewCustomize()

{

 

}

 

LRESULT CMainFrame::OnToolbarCreateNew(WPARAM wp,LPARAM lp)

{

 

{

return 0;

}

 

 

}

 

// ChildView.cpp : реализация класса CChildView

//

 

#include "stdafx.h"

#include "max.h"

#include "ChildView.h"

 

#ifdef _DEBUG

#define new DEBUG_NEW

#endif

 

 

// CChildView

 

CChildView::CChildView()

{

}

 

CChildView::~CChildView()

{

}

 

 

BEGIN_MESSAGE_MAP(CChildView, CWnd)

ON_WM_PAINT()

END_MESSAGE_MAP()

 

// обработчики сообщений CChildView

 

BOOL CChildView::PreCreateWindow(CREATESTRUCT& cs)

{

if (!CWnd::PreCreateWindow(cs))

Информация о работе Создание приложения Windows с использованием MFC