Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая_bmp.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
298.66 Кб
Скачать

Список литературы

  1. Горнец Н.Н., Рощин А.Г., Черкасова Н.И., Половов Р.М., Климова Т.Д. Пособие по выполнению курсовых и дипломных проектов и работ для студентов специальности 220100 дневного обучения. – М.: МГТУ ГА, 2002.

  2. Подбельский В.В. Язык Си++. – М.: Финансы и статистика, 1996

  3. Т. Сван. Программирование для Windows в Borland С++. – М.: Бином, 1995

  4. Финогненов К.Г. Win32. Основы программирования. – 2-е изд., испр. И дополн. – М.: ДИАЛОГ-МИФИ, 2006. – 416 с.

  5. Черкасова Н.И. Операционные системы. Пособие к выполнению курсовой работы. – М.: МГТУ ГА, 2003. – 48 с.

Приложение А

Листинг файла с исходным кодом программы (kp.cpp)

#include <owl\applicat.h>

#include <owl\decmdifr.h>

#include <owl\editfile.h>

#include <owl\mdi.h>

#include <owl\mdichild.h>

#include <owl\mdi.rh>

#include <owl\gadget.h>

#include <owl\messageb.h>

#include <owl\toolbox.h>

#include <owl\controlb.h>

#include <owl\statusba.h>

#include <owl\buttonga.h>

#include "kp.rh"

class TDecoChild:public TMDIChild

{

public:

TDecoChild(TMDIClient& parent, const char far *name);

TDecoChild(TMDIClient& parent);

protected:

string filename;

};

TDecoChild::TDecoChild(TMDIClient& parent):TMDIChild(parent)

{

filename="";

}

TDecoChild::TDecoChild(TMDIClient& parent, const char far *name)

:TMDIChild(parent, name)

{

filename=name;

}

class TDecoClient:public TMDIClient

{

public:

TDecoClient():TMDIClient() {}

TDecoClient* client;

};

class TDecoApp: public TApplication

{

public:

TDecoApp(const char far* name):TApplication(){}

void InitMainWindow();

protected:

TDecoClient *client;

TControlBar *controlBar;

void CmFileNew();

void CmFileOpen();

DECLARE_RESPONSE_TABLE (TDecoApp);

};

DEFINE_RESPONSE_TABLE1(TDecoApp, TApplication)

EV_COMMAND (CM_FILENEW, CmFileNew),

EV_COMMAND (CM_FILEOPEN, CmFileOpen),

END_RESPONSE_TABLE;

void TDecoApp::CmFileNew()

{

TEditFile *editFile = new TEditFile;

TMDIChild *childWnd = new TMDIChild (*client, "", editFile);

childWnd->SetIconSm(this,IDI_ICON3);

childWnd->Create();

}

void TDecoApp::CmFileOpen()

{

TOpenSaveDialog::TData fileData (OFN_FILEMUSTEXIST |

OFN_HIDEREADONLY | OFN_PATHMUSTEXIST,

"Все файлы (*.*) | *.* |Текстовые файлы (*.txt) | *.txt |", 0, 0, " * ");

strcpy(fileData.FileName, "");

TFileOpenDialog *dialog =

new TFileOpenDialog (MainWindow, fileData);

int result = dialog->Execute();

if (result == IDOK)

{

TEditFile *editFile =

new TEditFile (0, 0, 0, 0, 0, 0, 0, fileData.FileName);

TMDIChild *childWnd =

new TMDIChild (*client, "", editFile);

childWnd->SetIcon (this, IDI_ICON3);

childWnd->Create();

}

controlBar->SetHintCommand (-1);}

void TDecoApp::InitMainWindow()

{

client = new TDecoClient;

TDecoratedMDIFrame *frame = new TDecoratedMDIFrame ("Текстовый редактор",

MENU_1, *client, TRUE);

frame->Attr.AccelTable=MENU_1;

frame->AssignMenu(MENU_1);

frame->SetBkgndColor(RGB(0,0,255));

frame->Attr.X = 100;

frame->Attr.Y = 100;

frame->Attr.W = 650;

frame->Attr.H = 400;

controlBar = new TControlBar (frame);

controlBar->Insert(*new TButtonGadget(ID_NEW, CM_FILENEW));

controlBar->Insert(*new TSeparatorGadget (10));

controlBar->Insert(*new TButtonGadget(ID_CUT, CM_EDITCUT));

controlBar->Insert(*new TButtonGadget(ID_COPY, CM_EDITCOPY));

controlBar->Insert(*new TButtonGadget(ID_PASTE, CM_EDITPASTE));

controlBar->Insert(*new TButtonGadget(ID_UNDO, CM_EDITUNDO));

controlBar->SetHintMode(TGadgetWindow::EnterHints);

frame->Insert(*controlBar, TDecoratedFrame::Top);

TStatusBar *statusBar = new TStatusBar (0,

TGadget::Recessed,

TStatusBar::CapsLock | TStatusBar::NumLock |

TStatusBar::Overtype);

frame->Insert(*statusBar, TDecoratedFrame::Bottom);

frame->SetIconSm(this, IDI_ICON2);

frame->SetIcon(this, IDI_ICON2);

EnableCtl3d (TRUE);

SetMainWindow(frame);

}

int OwlMain(int,char *[])

{

TDecoApp app("Сохранение");

return app.Run();

}

Приложение Б

Листинг файла сценария ресурсов kp.rc

MENU_1 MENU

{

POPUP "&File"

{

MENUITEM "&New", CM_FILENEW

MENUITEM SEPARATOR

MENUITEM "E&xit F1", CM_EXIT

}

POPUP "&Edit"

{

MENUITEM "&Undo", CM_EDITUNDO

MENUITEM SEPARATOR

MENUITEM "&Cut", CM_EDITCUT

MENUITEM "C&opy", CM_EDITCOPY

MENUITEM "&Paste", CM_EDITPASTE

MENUITEM "&Delete", CM_EDITDELETE

}

}

STRINGTABLE

{

CM_FILENEW, "Создание нового документа"

102, "Выход из редактора"

CM_EDITUNDO, "Отменить последнюю операцию"

CM_EDITCOPY, "Скопировать выделенный текст в буфер обмена"

CM_EDITCUT, "Поместить выделенный текст в буфер обмена"

CM_EDITPASTE, "Вставить текст из буфера"

CM_EDITDELETE, "Удалить выделенный текст"

IDS_UNABLEWRITE, "Ошибка при записи файла %s на диск."

IDS_FILECHANGED, "Этот файл был изменен. \n\nСохранить изменения?"

IDS_CANNOTFIND, "Фрагмент ""%s"" отсутствует."

}

ACCELERATORS_2 ACCELERATORS

{

VK_F1, 108, VIRTKEY

}

Приложение В

Листинг заголовочного файла kp.rh

//#define IDB_BITMAP1 102

#define ACCELERATORS_2 2

#define MENU_1 100

#define ID_MDIEDIT 101

#define ID_SAVE CM_FILESAVE

#define ID_PASTE CM_EDITPASTE

#define ID_OPEN CM_FILEOPEN

#define ID_NEW CM_FILENEW

#define ID_CUT CM_EDITCUT

#define ID_COPY CM_EDITCOPY

#define ID_UNDO CM_EDITUNDO

//#define CM_HELPABOUT 24346

18