Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_раб_С++ Builder_2часть.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
1 Мб
Скачать
☆

Лабораторная работа № 7

Технология Drag & Doc и плавающие окна

Цель работы состоит в изучении команд и техники разработки приложения Windows

с технологией Drag & Doc (встраивание оконных объектов).

Задание на лабораторную работу.

1). Составить описание последовательности действий и команд для разработки заданного образца программы многооконного редактора с встраиванием окон .

2). Разработать проект заданного приложения и выполнить компиляцию файлов для получения исполняемого кода программы.

Методические указания.

  1. В приложении используются две формы. Одна форма называется Fmain и вторая форма для текстового документа Fdoc. Вид этих форм и наполнение компонентами показано ниже на рисунках

  1. Для формы Fmain файлы листингов кода программы имеют такие названия:

Umain.cpp, Umain.h.

  1. Для формы FDoc файлы листингов кода программы имеют следующие названия:

Udoc.cpp, Udoc.h, Pdoc.cpp.

  1. Файлы модулей реализации и заголовочных файлов имеют следующие коды:

10Pdoc.cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

USEFORM("Umain.cpp", Fmain);

USEFORM("Udoc.cpp", FDoc);

//---------------------------------------------------------------------------

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

{

try

{

Application->Initialize();

Application->CreateForm(__classid(TFmain), &Fmain);

Application->CreateForm(__classid(TFDoc), &FDoc);

Application->Run();

}

catch (Exception &exception)

{

Application->ShowException(&exception);

}

return 0;

}

//---------------------------------------------------------------------------

11Umain.cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Umain.h"

#include "Udoc.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFmain *Fmain;

TList * LDoc;

//---------------------------------------------------------------------------

__fastcall TFmain::TFmain(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFmain::MNewClick(TObject *Sender)

{

TFDoc * New = new TFDoc(this);

LDoc->Add(New);

New->Caption = "Документ "+IntToStr(LDoc->Count);

}

//---------------------------------------------------------------------------

void __fastcall TFmain::FormCreate(TObject *Sender)

{

LDoc = new TList();

}

//---------------------------------------------------------------------------

12Umain.h

//---------------------------------------------------------------------------

#ifndef UmainH

#define UmainH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ComCtrls.hpp>

#include <ExtCtrls.hpp>

#include <Menus.hpp>

//---------------------------------------------------------------------------

class TFmain : public TForm

{

__published: // IDE-managed Components

TPageControl *PageControl1;

TPanel *Panel1;

TMainMenu *MainMenu1;

TMenuItem *MNew;

void __fastcall MNewClick(TObject *Sender);

void __fastcall FormCreate(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFmain(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFmain *Fmain;

//---------------------------------------------------------------------------

#endif

13Udoc.cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Udoc.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFDoc *FDoc;

//---------------------------------------------------------------------------

__fastcall TFDoc::TFDoc(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

14Udoc.h

//---------------------------------------------------------------------------

#ifndef UdocH

#define UdocH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

//---------------------------------------------------------------------------

class TFDoc : public TForm

{

__published: // IDE-managed Components

TMemo *Memo1;

private: // User declarations

public: // User declarations

__fastcall TFDoc(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFDoc *FDoc;

//---------------------------------------------------------------------------

#endif