Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Код программы






Лабораторная работа №1-3

Создание многооконного текстового редактора

Задание: Создать стандартный интерфейс MDI Windows-приложения «Текстовый редактор» создержащий меню, панель инструментов, строку состояния обеспечив следующую функциональность:

Открытие документа из файла, сохраниение документа в файле, удаление в буфер, вставка из буфера, курсивный шрифт, отображение позиции курсора + выравние текста(защита)

Интерфейс программы

Интерфейс приложения представлен на начальном этапе представлен на рисунке 1.1, а на конечном этапе представлен интерфейс с дочерним окном на рисунке 1.2.

Рисунок 1.1

Рисунок 1.2

Код программы

Исходный код материнской формы:

 

procedure TForm1.ACenterExecute(Sender: TObject);

begin

(ActiveMDIChild as tform2).RichEdit1.Paragraph.Alignment: = taCenter;

end;

procedure TForm1.ACutExecute(Sender: TObject);

begin

(ActiveMDIChild as tform2).RichEdit1.CutToClipBoard;

end;

procedure TForm1.AExitExecute(Sender: TObject);

begin

Form1.Close;

end;

procedure TForm1.AItalicExecute(Sender: TObject);

begin

With (ActiveMDIChild as tform2).RichEdit1.SelAttributes do

begin

if FsItalic in Style then

Style: =Style - [FsItalic]

else

Style: =Style + [FsItalic]

end;

end;

procedure TForm1.ALeftExecute(Sender: TObject);

begin

(ActiveMDIChild as tform2).RichEdit1.Paragraph.Alignment: = taLeftJustify;

end;

procedure TForm1.AOpenExecute(Sender: TObject);

begin

if OpenDialog1.Execute then

begin

Form2: =Tform2.Create(Self);

Form2.RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName);

Form2.RichEdit1.Modified: = false;

FileName: =OpenDialog1.FileName;

Form2.show;

Form2.Caption: ='Документ - '+ExtractFileName(FileName);

end;

end;

procedure TForm1.APasteExecute(Sender: TObject);

begin

(ActiveMDIChild as tform2).RichEdit1.PasteFromClipBoard;

end;

procedure TForm1.ARightExecute(Sender: TObject);

begin

(ActiveMDIChild as tform2).RichEdit1.Paragraph.Alignment: = taRightJustify;

end;

procedure TForm1.ASaveExecute(Sender: TObject);

begin

(ActiveMDIChild as tform2).RichEdit1.Lines.SaveToFile(OpenDialog1.FileName)

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

if MessageDlg('Выйти из программы? ', mtConfirmation, [mbYes, mbNo], 0)=mrYes

then Action: =caFree

else Action: =caNone;

end;

 

Исходный код дочерней формы:

 

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);

begin

if RichEdit1.Modified then

begin

if MessageDlg('Файл был изменён. Перед выходом он не будет сохранён. Подтвердить выход? ',

mtConfirmation, [mbYes, mbNo], 0)=mrYes then

if OpenDialog1.Execute then

begin

RichEdit1.Lines.SaveToFile(OpenDialog1.FileName);

Action: =caFree;

end

else

Action: =CaFree;

end

else

Action: =CaFree;

end;

procedure TForm2.RichEdit1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

Form1.StatusBar1.Panels[2].Text: = IntToStr(RichEdit1.Caretpos.y+1);

Form1.StatusBar1.Panels[4].Text: = IntToStr(RichEdit1.Caretpos.X+1);

end;

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.