BigEdu.ru

Проект текстового редактора

СОДЕРЖАНИЕ

Постановка задачи

Краткие теоретические сведения

Результаты выполнения программы

Заключение

Литература

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


ПОСТАНОВКА ЗАДАЧИ

Составить Win32 App проект простейший текстовый редактор, который позволяет выполнять операции редактирование текста, копирование и вставку из одного окна проекта в другое окно проекта. Использовать вызов диалогов сохранения и открытия файла, а также диалог выбора шрифта. Все диалоги применяются к тексту в редакторе.


КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Работа с функциями вызова стандартных диалогов производится следующим образом:

1. Объявляются переменные соответствующих структур:

staticCOLORREFtextColor;

// Переменные для стандартных диалогов "Open", "Saveas"

staticOPENFILENAMEofn;

staticcharszFile[MAX_PATH];

// Переменные для стандартного диалога "Color"

static CHOOSECOLOR cc; // common dialog box structure

static COLORREF acrCustClr[16]; // array of custom colors

// Переменные для стандартного диалога "Font"

static CHOOSEFONT chf;

static HFONT hFont;

static LOGFONT lf;

2. Инициализируются соответствующие структуры в обработчике события создания окна (окна диалога).

switch (uMsg)

{

case WM_CREATE:

// Инициализацияструктуры ofn

ofn.lStructSize = sizeof(OPENFILENAME);

ofn.hwndOwner = hWnd;

ofn.lpstrFile = szFile;

ofn.nMaxFile = sizeof(szFile);

// Инициализация структуры cc

cc.lStructSize = sizeof(CHOOSECOLOR);

cc.hwndOwner = hWnd;

cc.lpCustColors = (LPDWORD) acrCustClr;

cc.Flags = CC_FULLOPEN | CC_RGBINIT;

// Инициализацияструктуры chf

chf.lStructSize = sizeof(CHOOSEFONT);

chf.hwndOwner = hWnd;

chf.lpLogFont = &lf;

chf.Flags = CF_SCREENFONTS | CF_INITTOLOGFONTSTRUCT;

chf.nFontType = SIMULATED_FONTTYPE;

break;

}

3. Вызывается соответствующая функция в обработчике событий нажатия кнопки вызова соответствующего диалога.

case WM_COMMAND:

switch (LOWORD(wParam))

{

case IDM_OPEN:

strcpy(szFile, "");

success = GetOpenFileName(&ofn);

if (success)

MessageBox(hWnd, ofn.lpstrFile, "Открываетсяфайл:", MB_OK);

else

MessageBox(hWnd, ESC_OF"GetOpenFileName",

"Отказ от выбора или ошибка", MB_ICONWARNING);

break;

case IDM_SAVE_AS:

strcpy(szFile, "");

success = GetSaveFileName(&ofn);

if (success)

MessageBox(hWnd, ofn.lpstrFile,

"Файлсохраняетсясименем:", MB_OK);

else

MessageBox(hWnd, ESC_OF"GetSaveFileName",

"Отказ от выбора или ошибка", MB_ICONWARNING);

break;

case IDM_BKGR_COLOR:

if (ChooseColor(&cc) )

SetClassLong(hWnd, GCL_HBRBACKGROUND,

(LONG)CreateSolidBrush(cc.rgbResult));

break;

case IDM_TEXT_COLOR:

if (ChooseColor(&cc) ) textColor = cc.rgbResult;

break;

case IDM_CHOOSE_FONT:

if(ChooseFont(&chf) ) hFont = CreateFontIndirect(chf.lpLogFont);

break;

РЕЗУЛЬТАТЫ ВЫПОЛНЕНИЯ ПРОГРАММЫ



ЗАКЛЮЧЕНИЕ

В процессе разработки программы использовался в большом объеме теоретический материал ВУЗа и материал по программированию из учебников, вспомогательных электронных средств и средств Интернета, что способствовало закреплению наработанных навыков и умений в этих интересных областях знаний.

Полное тестирование программы показало что, программа реализована в полном объеме в соответствии с заданными требованиями и поставленной задачей. Полностью отлажена и проработана. Поставленная задача выполнена.

Программа построена на классе MFC для Win 32 приложений.


ЛИТЕРАТУРА

1. Д.Рихтер Создание эффективных Win32 приложений.

2. П. В. Румянцев Азбука программирования в WIN 32 API.

3. Ч. Петзолд. Программирование для Windows 95. Том 1.

4. Архипова Е.Н. Электронный курс по WIN 32 API.


ЛИСТИНГ ПРОГРАММЫ

Код модуля mein cpp

// mein.cpp : implementation file

//

#include "stdafx.h"

#include "Menu.h"

#include "mein.h"

// mein dialog

IMPLEMENT_DYNAMIC(mein, CDialog)

mein::mein(CWnd* pParent /*=NULL*/)

: CDialog(mein::IDD, pParent)

{

}

mein::~mein()

{

}

void mein::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);

}

BEGIN_MESSAGE_MAP(mein, CDialog)

END_MESSAGE_MAP()

// mein message handlers

Код модуля menu.cpp

// Menu.cpp : Defines the class behaviors for the application.

//

#include "stdafx.h"

#include "Menu.h"

#include "MenuDlg.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#endif

// CMenuApp

BEGIN_MESSAGE_MAP(CMenuApp, CWinApp)

ON_COMMAND(ID_HELP, CWinApp::OnHelp)

END_MESSAGE_MAP()

//

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать
Курсовые работы по информатике и программированию СОДЕРЖАНИЕ Постановка задачи Краткие теоретические сведения Результаты выполнения программы Заключение Литература Листинг программы
Оценок: 1000 (Средняя 5 из 5)

Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.

© 2016 - 2022 BigEdu.ru