- •Методические указания
- •Часть 2
- •Лабораторна робота № 1
- •Загальні зведення про компоненти для розробки меню команд і вбудовування малюнків та значків на форму програми
- •Лабораторная работа № 2
- •Лабораторная работа № 3
- •Общие сведения о видах команд отладки для поиска
- •2. Постановка задач лабораторной работы
- •Лабораторная работа № 4
- •Общие сведения
- •Лабораторная работа № 5
- •Общие сведения о компонентах, инструментах для рисования
- •Лабораторная работа № 6 Обработка событий мышки в приложении Windows
- •1. Общие сведения о событиях мышки
- •2. Постановка задачи лабораторной работы.
- •3. Порядок действий и команд при выполнении работы.
- •Лабораторная работа № 7
- •Результат работы программы
- •Лабораторная работа № 8
- •Шаг 4. Установите на форму компоненты ListView1 и ListView2 , как это показано рис.3.
- •Лабораторная работа № 9
- •Лабораторная работа № 10
Лабораторная работа № 7
Технология Drag & Doc и плавающие окна
Цель работы состоит в изучении команд и техники разработки приложения Windows
с технологией Drag & Doc (встраивание оконных объектов).
Задание на лабораторную работу.
1). Составить описание последовательности действий и команд для разработки заданного образца программы многооконного редактора с встраиванием окон .
2). Разработать проект заданного приложения и выполнить компиляцию файлов для получения исполняемого кода программы.
Методические указания.
В приложении используются две формы. Одна форма называется Fmain и вторая форма для текстового документа Fdoc. Вид этих форм и наполнение компонентами показано ниже на рисунках
|
|
Для формы Fmain файлы листингов кода программы имеют такие названия:
Umain.cpp, Umain.h.
Для формы FDoc файлы листингов кода программы имеют следующие названия:
Udoc.cpp, Udoc.h, Pdoc.cpp.
Файлы модулей реализации и заголовочных файлов имеют следующие коды:
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
