Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Янг Майкл Дж. -> "Visual С++ 6. Полное руководство: В 2 т.(том1)" -> 132

Visual С++ 6. Полное руководство: В 2 т.(том1) - Янг Майкл Дж.

Янг Майкл Дж. Visual С++ 6. Полное руководство: В 2 т.(том1) — Бином, 2006. — 569 c.
Скачать (прямая ссылка): vicualcc2006t1.djvu
Предыдущая << 1 .. 126 127 128 129 130 131 < 132 > 133 134 135 136 137 138 .. 204 >> Следующая

выводит только линии, попадающие в недействительную область (т.е. выводит новую линию и перерисовывает все другие линии в этой области).
Заметьте: если окно представления нуждается в перерисовке из-за внешнего события (например, перемещения перекрывающего окна), то Windows также признает недействительной только ту область окна, которая нуждается в перерисовке. Затем новая версия функции OnDraw перерисовывает только линии, попавшие в эту область. Таким образом, новая версия этой функции более эффективна и при рисовании новой линии, и при каком-либо внешнем событи.
Теперь можно построить и запустить программу MiniDraw.
Текст программы MiniDraw_
Следующие листинги (13.1 — 13.8) содержат исходные тексты программы MiniDraw, рассмотренной в этой главе. Исходные файлы программы смотрите в каталоге \MiniDrw4 прилагаемого компакт-диска.
Листинг 13.1
// MiniDraw.h : главный файл заголовков приложения MINIDRAW
//
#if !defined(
AFX_MINIDRAW_H_11E83 924_999A_11D1_80FC_00C0F6A83B7F_INCLUDED_)
¦define
AFX_MINIDRAW_H_11E83 92 4_999A_11D1_80FC_00C0F6A83B7F_INCLODED_
#if _MSC_VER > 1000 ¦pragma once
¦endif // _MSC_VER > 1000
¦ifndef _AFXWIN_H_
¦error include 'stdafx.h' before including this file for PCH ¦ endif
¦include "resource.h" // основные символические константы
1111111111111111111111111111111111111111111111111111111111111111 i/ Класс CMiniDrawApp:
// Смотрите реализацию этого класса в файле MiniDraw.срр //
class CMiniDrawApp : public CWinApp {
public:
CMiniDrawApp();
// Переопределения
// Переопределения виртуальных функций, // сгенерированные мастером ClassWizard
//{{AFX_VIRTUAL(CMiniDrawApp) public:
virtual BOOL Initlnstance(); //}}AFX_VIRTUAL
// Реализация
//{{AFX_MSG(CMiniDrawApp)
afx_mag void OnAppAbout();
// ПРИМЕЧАНИЕ - Мастер ClassWizard будет добавлять
// и удалять здесь функции-члены класса
// НЕ РЕДАКТИРУЙТЕ текст в этих блоках сгенерированного кода!
//))AFX_MSG
DECLARE_MESSAGE_MAP()
);
1111111 /11111 /1111 iii 11 /11111111111 /1111 /1 /11111111111111 /111111 ii {{AFX_INSERT_LOCATION})
// Visual С++ вставит дополнительные объявления // сразу перед предыдущей строкой
#endif
// !defined(
// AFX_MINIDRAW_H_11E83 924_99 9A_11D1_80FC_00C0F6A83B7F_INCLUDED_)
Листинг 13.2
// MiniDraw.cpp : определяет работу класса приложения
//
#include "stdafx.h" ¦include "MiniDraw.h"
¦include "MainFrm.h" ¦include "MiniDrawDoc.h" ¦include "MiniDrawVw.h"
¦ifdef _DEBUG ¦define new DEBUG_NEW ¦undef THIS_FILE
static char THIS_FILE[] = _FILE_;
¦endif
1111111111111111111 /11111111ii1111111111111111111111111ii11ii111 ii Класс CMiniDrawApp
BEGIN_MESSAGE_MAP(CMiniDrawApp, CWinApp) //((AFX_MSG_MAP(CMiniDrawApp)
ON_COMMAND(ID_APP_ABOUT, OnAppAbout) // ПРИМЕЧАНИЕ - Мастер ClassWizard будет добавлять // и удалять здесь макросы обработки сообщений
// НЕ РЕДАКТИРУЙТЕ текст в этих блоках сгенерированного кода! //})AFX_MSG_MAP
// Команды работы с файлами документов ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew) ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen) END_MESSAGE_MAP()
111/1/111111iii iii 11ii11111111111111111/11111111 iii 11111/ii11 iii ii Конструктор класса CMiniDrawApp
CMiniDrawApp::CMiniDrawApp() {
// TODO: Здесь добавьте код конструктора. Поместите
// основные команды инициализации в функцию Initlnstance
)
1111111111111111111111111111111111111111111111111111111111111111 ii Единственный объект класса CMiniDrawApp
CMiniDrawApp theApp;
1111111111111111111111111111111111111111111111111111111111111111 /i Инициализация класса CMiniDrawApp
BOOL CMiniDrawApp::Initlnstance()
{
// Стандартная инициализация. Если вы не используете эти функции // и хотите уменьшить размер исполняемого модуля, удалите // ненужные команды, выполняющие специфическую инициализацию
#ifdef _AFXDLL
Enable3dControls(); // Вызывается при использовании MFC в
// режиме совместного доступа
#else
Enable3dControlsStatic(); // Вызывается при статической
// компоновке библиотеки MFC
#endif
// Измените раздел реестра, в котором будут сохранены установки. //Вы можете заменить эту строку более подходящим текстом, // например названием вашей компании или организации SetRegistryKey(_Т ("Local AppWizard-Generated Applications") ) ;
LoadStdProfileSettings(); // Загрузка стандартных установок
// INI-файла (включая список // последних открытых файлов)
// Регистрация шаблонов документа приложения. Шаблоны // документов служат для связи документа с главным // окном и окном представления
CSingleDocTemplate* pDocTemplate; pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CMiniDrawDoc) ,
RONTIME_CLASS(CMainFrame), // главное окно SDI-приложения RUNTIME_CLASS(CMiniDrawView) ) ; AddDocTemplate(pDocTemplate);
EnableShellOpen (); RegisterShellFileTypes () ;
ii Анализ командной строки с целью поиска // команд оболочки, DDE, открытия файла CComraandLinelnfo cmdlnfo; ParseCommandLine(cmdlnfo) ;
// Выполнение команд, заданных в командной строке if (!ProcessShellCommand(cmdlnfo)) return FALSE;
Предыдущая << 1 .. 126 127 128 129 130 131 < 132 > 133 134 135 136 137 138 .. 204 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100