Автор работы: Пользователь скрыл имя, 28 Марта 2012 в 20:32, лабораторная работа
1. Проанализировать иерархию классов библиотеки MFC. Выделить классы, используемые при создании каркаса простейшего приложения.
2. С использованием VisualStudio создать простейшее MFC-приложение без использования архитектуры документ/вид.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ,
МОЛОДЕЖИ И СПОРТА
Лабораторная работа №1
по дисциплине: «Современные технологии программирования»
на тему: «Создание приложения Windows с использованием MFC»
Задание
Фон окна – фиолетовый
Курсор - 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(
{
// создать представление
для размещения рабочей
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(
{
if(cs.hMenu!=NULL)
{
::DestroyMenu(cs.hMenu); // удаляем меню, если загружено
cs.hMenu = NULL; // для этого окна меню нет
}
cs.lpszClass = AfxRegisterWndClass(CS_
::LoadCursor(NULL, IDC_IBEAM), NULL, ::LoadIcon( NULL, IDI_HAND));//рисуем окно с заливкой своего цвета и своим курсором
if( !CFrameWndEx::PreCreateWindow(
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::
{
{
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(
{
if (!CWnd::PreCreateWindow(cs))
Информация о работе Создание приложения Windows с использованием MFC