СОДЕРЖАНИЕ
Постановка задачи
Краткие теоретические сведения
Результаты выполнения программы
Заключение
Литература
Листинг программы
ПОСТАНОВКА ЗАДАЧИ
Составить 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()
//
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.