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

Создание главной формы плагина

Моя форма выглядит примерно так же, как в третьем плагине, разве что нет кнопки обновления:

Прямоугольник посередине – это элемент Image.

Можете набросать форму сами, но там много свойств элементов придется менять, я лучше приведу вам код моего файла MainForm.dfm. Закройте билдер и откройте файл каким-нибудь редактором.

Замените содержимое файла следующим кодом:

object MainForm: TMainForm

Left = 477

Top = 250

BorderIcons = [biSystemMenu]

BorderStyle = bsSingle

Caption = 'Plugin 2'

ClientHeight = 557

ClientWidth = 822

Color = clBtnFace

Font.Charset = DEFAULT_CHARSET

Font.Color = clWindowText

Font.Height = -11

Font.Name = 'MS Sans Serif'

Font.Style = []

OldCreateOrder = False

OnCloseQuery = FormCloseQuery

PixelsPerInch = 96

TextHeight = 13

object Image: TImage

Left = 8

Top = 8

Width = 800

Height = 500

end

object start_button: TButton

Left = 8

Top = 520

Width = 89

Height = 25

Caption = #1057#1090#1072#1088#1090

TabOrder = 0

OnClick = start_buttonClick

end

object pause_button: TButton

Left = 112

Top = 520

Width = 89

Height = 25

Caption = #1055#1072#1091#1079#1072

TabOrder = 1

OnClick = pause_buttonClick

end

object stop_button: TButton

Left = 216

Top = 520

Width = 89

Height = 25

Caption = #1057#1090#1086#1087

TabOrder = 2

OnClick = stop_buttonClick

end

object timeline_trackBar: TTrackBar

Left = 312

Top = 520

Width = 497

Height = 25

Enabled = False

Max = 1

Orientation = trHorizontal

Frequency = 2

Position = 0

SelEnd = 0

SelStart = 0

TabOrder = 3

TickMarks = tmBottomRight

TickStyle = tsAuto

OnChange = timeline_trackBarChange

end

object timer: TTimer

Enabled = False

Interval = 100

OnTimer = timerTimer

Left = 792

Top = 480

end

end

Сохраните файл и закройте редатор. Снова запустите билдер с правами администратора. Откройте последний проект:

Откройте Project Manager.

Уберите его куда-нибудь в нижнюю правую часть экрана, чтобы он не мешал, но всегда был под рукой. Откройте в нём главную форму и убедитесь, что она выглядит как надо.

В редакторе наверняка будет открыт файл MainForm.cpp. Надо переименовать класс формы, ибо сейчас он значится как TForm1. Замените содержимое файла на:

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

#include <vcl.h>

#pragma hdrstop

#include "MainForm.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"

TMainForm *MainForm;

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

__fastcall TMainForm::TMainForm(TComponent* Owner)

: TForm(Owner)

{

}

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

Перейдите к его заголовочному файлу, щелкнув правой кнопкой по закладке:

Замените весь код файла MainForm.h на следующий:

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

#ifndef MainFormH

#define MainFormH

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

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ComCtrls.hpp>

#include <ExtCtrls.hpp>

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

class TMainForm : public TForm

{

__published: // IDE-managed Components

TImage *Image;

TButton *start_button;

TButton *pause_button;

TButton *stop_button;

TTimer *timer;

TTrackBar *timeline_trackBar;

void __fastcall start_buttonClick(TObject *Sender);

void __fastcall pause_buttonClick(TObject *Sender);

void __fastcall stop_buttonClick(TObject *Sender);

void __fastcall timeline_trackBarChange(TObject *Sender);

void __fastcall timerTimer(TObject *Sender);

void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);

private: // User declarations

public: // User declarations

__fastcall TMainForm(TComponent* Owner);

};

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

extern PACKAGE TMainForm *MainForm;

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

#endif

Попробуйте собрать проект.

Если всё сделано правильно, то он сбилдится без ошибок. Иначе проверьте, что вы запустили билдер из под админа. Исправьте потенциальные ошибки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]