Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Опис компонентів Delphi, використаних при розробці проекту



Зміст

Вступ. 3

Опис компонентів Delphi, використаних при розробці проекту. 5

Компонент MainMenu. 5

Компонент RichEdit 5

Компонент ToolBar. 6

Компонент ToolButton. 6

Компонент Splitter. 7

Компонент StatusBar. 7

Компонент PopupMenu. 8

Компонент Image. 8

Компонент ImageList 8

Компонент FontDialog. 9

Компонент FindDialog (ReplaceDialog). 9

Компонент PrintDialig (PrintSetupDialog). 9

Компонент OpenDialog (SaveDialog). 10

Компонент PageSetupDialog. 10

Компонент Label 11

Компонент ColorDialog. 11

Компонент Timer. 11

Опис програми-додатку. 12

Список дій користувача. 12

Алгоритм роботи програми. 13

Структура програми – додатку. 14

Опис графічного інтерфейсу програми-додатку. 15

Висновок. 20

Перелік використаної літератури. 21

Додатки. 22

Текст програмного коду. 22

Вигляд вікон програми - додатку в процесі проектування. 46

Вигляд вікон програми- додатку в працюючому вигляді 47

 



Вступ

Системне програмне забезпечення — це комплекс програм, які забезпечують ефективне управління компонентами обчислювальної системи, такими як процесор, оперативна пам'ять, канали введення-виведення, мережеве обладнання, виступаючи як «міжшарової інтерфейс » з одного боку якого апаратура, а з іншого додатки користувача. На відміну від прикладного програмного забезпечення, системне не вирішує конкретні прикладні задачі, а лише забезпечує роботу інших програм, управляє апаратними ресурсами обчислювальної системи і т.д.

Програмування — процес створення комп'ютерних програм та програмного забезпечення. Програмування поєднує в собі елементи інженерії (існує навіть відповідна спеціальна галузь інженерії — програмна інженерія (англ. software engineering), фундаментальних наук (перш за все математики) і мистецтва.

У більш вузькому значенні програмування розглядається як кодування — реалізація у вигляді програми одного чи кількох взаємопов'язаних алгоритмів (у сучасних умовах це здійснюється з застосуванням мов програмування). У ширшому сенсі процес програмування охоплює і створення, тобто розробку, алгоритмів, і аналіз потреб майбутніх користувачів програмного забезпечення.

У широкому значенні програмування використовується у значенні створення програми дій або алгоритмів та навчання людей або пристроїв діяти за алгоритмами.

Borland Delphi — це інтегроване середовище розробки програмного забезпечення фірми Borland. Мова Delphi – це універсальна об’єктно-орієнтована мова, в основі якої лежить Object Pascal.

Завдяки великим функціональним можливостям і простоті складення програм Pascal став інтенсивно використовуватися також для створення комерційних додатків.В свій час дуже популярною версією Pascal була Turbo Pascal, яка розроблена компанією Borland. З розвитком операціонної системи Windows і технологій об’єктно-орієнтованого програмування компанія Borland розширила Turbo Pascal, створивши версії Turbo Pascal for Windows і Object Pascal for Windows. Наступним кроком компанії було створення Delphi візуального середовища розробки програм в Object Pascal під керуванням операціонної системи Windows.

За допомогою Delphi можна створювати найпростіші додатки, на розробку яких потрібно декілька годин, так і серйозні проекти, призначених для роботи десятків або сотень користувачів. Delphi призначений не тільки для програмістів, ним також можуть користуватися бізнесмени, викладачі, тобто всі ті, хто використовує комп’ютер з чисто прикладною метою, тобто для того, щоб швидко вирішити певні свої завдання, не залучаючи для цього програмістів.

Завданням курсової роботи є створення програми-додатку “Текстовий редактор”.

Метою курсової роботи є створення програми для перегляду (формати - *.rtf, *.txt), редагування, збереження тектових документів, тощо.

 



Компонент MainMenu

За допомогою компонента ManeMenu (Головне меню) програміст може створити в Delphi головне меню для своєї форми. Цей елемент керування складається з рядка меню і ассоційованих з її елементами відкриваних меню.

Основна властивість MainMenu - Items . Його заповнення здійснюється за допомогою Конструктора Меню, що викликається подвійним клацанням на компоненті MainMenu або натиснувши кнопку з трьома крапками поруч з властивістю Items у вікні Інспектори Об'єктів. У цьому вікні ви можете спроектувати все меню. Властивість Caption означає напис розділу. Властивість Name задає ім'я об'єкта, відповідного розділу меню. Дуже корисно давати цих об'єктів осмислені імена, тому що інакше ви скоро заплутаєтеся в нічого не говорячих іменах типу N21.

Компонент RichEdit

Компонент RichEdit є засобом редагування текстів, який дозволяє працювати з форматом *.rtf, тобто дає можливість вибрати різні істотні властивості об'єкта форматування для різних фрагментів тексту. У Вікні редагування є безліч функцій, які властиві більшості редакторів. Наприклад, у ньому передбачені стандартні сполучення гарячих клавіш: Ctrl-C - скопіювати виділений текст в Clipboard - буфер обміну (команда Copy), Ctrl-X - вирізати виділений текст в буфер, Clipboard (команда Cut), Ctrl-V - вставити текст з буфера Clipboard в позицію курсора (команда Paste), Ctrl-Z - скасувати останню команду редагування.

Компонент ToolBar

Компонент ToolBar – це є інструментальна панель. Цей компонент служить контейнером для командних кнопок BitBtn, ToolButton  і здатний автоматично змінювати свої розміри і положення при додаванні або видаленні кнопок.

Головна відмінна риса компонента TToolBar - його здатність гнучкого управління дочірніми елементами, які він може групувати, вирівнювати за розмірами, розташовувати в кілька рядів. Компонент може маніпулювати будь-якими вставленими в нього дочірніми елементами, але всі його можливості повною мірою виявляються тільки зі спеціально для нього розробленим компонентом TToolButton (кнопка панелі інструментів).

Компонент ToolButton

Компонент ToolButton компонент схожий на кнопку TSpeedButton, але не потрібно його шукати в палітрі компонентів - його там немає. Оскільки він розроблений спеціально для TToolBar, вставити його в інструментальну панель можна тільки після клацання правою кнопкою на компоненті ToolBar і виборі NewButton або NewSeparator (сепаратори призначені для функціонального виділення на інструментальній панелі груп елементів і являють собою різновиди кнопок ToolButton). Компонент ToolButton не має властивості, призначеної для зберігання картинки, однак ToolBar вміє використовувати контейнер imageList, щоб витягти з нього потрібну картинку і помістити її на інструментальну кнопку.

Компонент Splitter

 Цей компонент створює межу між двома видимими компонентами і дає можливість користувачу переміщати її.

Компонент StatusBar

Компонент StatusBar являє собою ряд панелей, що відображають смугу стану в стилі Windows. Зазвичай ця смуга розміщується внизу форми.

Властивість SimplePanel визначає, чи включає смуга стану одну або безліч панелей. Якщо SimplePanel = true, то вся смуга стану являє собою єдину панель, текст якої задається властивістю SimpleText. Якщо ж SimplePanel = false, то смуга стану є набором панелей, що задаються властивістю Panels. У цьому випадку властивість SizeGrip визначає, чи може користувач змінювати розміри панелей в процесі виконання програми.

Кожна панель смуги стану є об'єктом типу TStatusPanels. Властивості панелей можна задавати спеціальним редактором наборів.. Викликати редактор можна трьома способами: з Інспектора Об'єктів кнопкою з трьома крапками близько властивості Panels, подвійним клацанням на компоненті StatusBar або з контекстного меню, вибравши команду "Panels Editor". У вікні редактора можна переміщатися по панелях, додавати нові або знищувати існуючі. При переміщенні по панелях у вікні Інспектора Об'єктів можна бачити їх властивості.

Основна властивість кожної панелі - Text, в який заноситься відображається в панелі текст. Його можна занести в процесі проектування, а потім можна змінювати програмно під час виконання.

Компонент PopupMenu

Компонент PopupMenu майже не відрізняється від компонента MainMenu і також є невізуальним. Але на відміну від Головного меню, яке одне на Формі, спливаючі меню можуть бути у кожного об'єкта, розміщеного на Формі. Тому потрібно розмістити на Формі і запрограмувати стільки компонентів PopupMenu, скільки контекстних меню передбачається використовувати в програмі. Крім того, контекстне меню не має кількох пунктів верхнього рівня, так як всі його пункти розташовуються в одному вертикальному стовпці.

Компонент Image

Компонент Image дає відображення на формі графічного зображення. Властивість Picture типу TPicture містить відображувану графічну складову, у якої тип - бітова матриця, піктограми, метафайлу або певного користувачем типу. Властивість Canvas дозволяє створювати і редагувати зображення.

Компонент ImageList

Компонент ImageList являє собою набір зображень однакових розмірів, на які можна посилатися за індексами, що починається з 0. У багатьох розглянутих раніше компонентах (меню, списках та ін..) зустрічалися властивості, що представляють собою посилання на компонент ImageList. Цей компонент дозволяє організувати ефективне і економне управління безліччю піктограм і бітових матриць. Він може включати в себе монохромні бітові матриці, що містять маски для відображення.

Компонент FontDialog

Компонент FontDialog викликає діалогове вікно вибору атрибутів шрифту. У ньому користувач може вибрати ім'я шрифту, його стиль (накреслення), розмір і інші атрибути.

Компонент PageSetupDialog

Компонент PageSetupDialog є стандартним діалоговим вікном, використовуваним для завдання відомостей про сторінку для друку. Цей компонент використовується в якості простого рішення для завдання параметрів налаштування сторінки замість діалогового вікна, що настроюється самостійно. Можна дозволити користувачам задавати параметри кордонів і полів, верхніх і нижніх колонтитулів, а також вибирати книжкову або альбомну орієнтацію.

 

Компонент Label

Компонент Label призначений для відображення статичного тексту, тобто написів і позначок на Формі, які не змінюються протягом всього часу роботи програми. Звичайно, текст напису, який відображається компонентом Label можна змінити, але не безпосередньо, а тільки програмно.

Компонент ColorDialog

Компонент ColorDialog викликає діалогове вікно вибору кольору. У ньому користувач може вибрати колір з базової палітри або, натиснувши кнопку "Визначити колір", розкрити додаткову панель, що дозволяє синтезувати колір, відмінний від базових. Синтезований колір можна додати кнопкою "Додати в набір" в палітру додаткових квітів на лівій панелі і використовувати його в подальшому.

Компонент Timer

Компонент Timer дозволяє задавати в додатку інтервали часу. Таймер знаходить численні застосування: синхронізація мультиплікації, закриття якихось вікон, з якими користувач довгий час не працює, включення зберігача екрану або закриття зв'язків з віддаленим сервером за відсутності дій користувача, регулярний опитування якихось джерел інформації, завдання часу на відповідь у навчальних програмах - все це безліч завдань, в яких потрібно задавати інтервали часу, вирішується за допомогою таймера.

Опис програми-додатку

Список дій користувача

Користувач, який буде використовувати програму à Текстовий редактор може виконувати такі операції (дії): створювати, відкривати, зберігати, проводити налаштування друку (параметрів сторінки), друкувати документ.

Також за допомогою текстового редактора зможе здійснювати пошук, робити заміну, міняти шрифти, колір тексту і фону, копіювати, видаляти, здійснювати вставку, вирівнювання документу, вирізати, виділяти потрібні області тексту, прочитати довідку про програму, встановити маркет, в потрібному йому місці тощо.  
Алгоритм роботи програми

 


Інструментальна панель

Для створення панелі інструментів використав компонент ToolBar, який містить швидкі кнопки із зображеннями, що дублюють основні команди головного меню. Цей компонент розташований на закладці Win32. Створив набір зображень за допомогою компонента ImageList. Зв’язав компонент ToolBar із списком зображень ImageList за допомогою властивості Images. Клацнув правою кнопкою на компоненті ToolBar і вибрав NewButton(створиться кнопка на яку автоматично перенесеться зображення з ImageList.

 Створити новий документ;

 Відкрити документ;

 Зберегти;

 Зберегти як…;

 Друк…;

 Вихід

 Відмінити;

 Вирізати;

 Копіювати;

 Вставити;

 Видалити;

 Виділити все;

 Пошук;

 Заміна;

Жирний шрифт;

 Курсив;

 Підкреслений;

 Вирівнювання по лівому краю;

 Вирівнювання по центру;

 Вирівнювання по правому краю;

 Шрифт;

 Заливка тексту;

 Заливка фону;

 Про програму.

Гарячі клавіші

Гарячі клавіші задав за допомогою властивості ShortCut для відповідного компонента.

Підказки

Для створення підказок натиснув на відповідному компоненті і для властивості ShowHint встановив значення в true. Задав відповідний текст підказки у властивості Hint.

Рядок стану

Для створення рядку стану використав компонент StatusBar, який може складатися з декількох панелів. Властивість SimplePanel визначає чи рядок стану складається з однієї панелі чи з декількох, true – 1панель, текст для панелі задається властивістю SimpleText.



Висновок

Під час виконання курсової роботи була проаналізована задача розробки програми, а також була розроблена сама програма – Текстовий редактор. Було здійснено розробку алгоритму роботи і структуру програми-додатку. Програма àТекстовий редактор була розроблена на мові програмування à Delphi 7. В розробленому текстовому редакторі досить зручний і простий інтерфейс, що буде приємним для роботи іншим користувачам. В ньому розроблені самі необхідні функціональні можливості (дії), декілька з них – це створення, зберігання, відкриття, редагування, пошук текстового документа, тощо.

Також для полегшення роботи ,було створено підказки, так звані Hint-и, вони допоможуть користувачеві при необхідності дізнатись, для чого певне меню програми призначене. Створено для кожного меню програми - гарячі клавіші, вони зручні тим, що заставляють програму виконувати певні дії практично моментально (копіювання, вставка, виділення та ін.).  

 

Додатки

Текст програмного коду

Головна форма

unit Text_Editor;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, StdCtrls, ComCtrls, ToolWin, ImgList, ExtCtrls, QRPrntr;

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

Fayl: TMenuItem;

Stvorutu: TMenuItem;

Vidkrutu: TMenuItem;

Zberegtu: TMenuItem;

Zberegtu_yak: TMenuItem;

Liniya1: TMenuItem;

Nalashtyvannya_dryky: TMenuItem;

Pravka: TMenuItem;

Vidminutu: TMenuItem;

Vurizatu: TMenuItem;

Kopiyuvatu: TMenuItem;

Vstavutu: TMenuItem;

Vudalutu: TMenuItem;

Vudilutu_vse: TMenuItem;

Liniya2: TMenuItem;

Poshyk: TMenuItem;

Poshyk_dali: TMenuItem;

Zamina: TMenuItem;

Dryk: TMenuItem;

Parametru_storinku: TMenuItem;

Shruft: TMenuItem;

Vurivnyuvannya: TMenuItem;

Po_livomy_krayu: TMenuItem;

Po_centry: TMenuItem;

Po_pravomy_krayu: TMenuItem;

FontDialog1: TFontDialog;

Zaluvka: TMenuItem;

Zaluvka_teksty: TMenuItem;

Zaluvka_fony: TMenuItem;

Marker: TMenuItem;

Vkl: TMenuItem;

Vukl: TMenuItem;

Dovidka: TMenuItem;

Pro_programy: TMenuItem;

Panel_instrym: TToolBar;

StvorButton: TToolButton;

VidkrButton: TToolButton;

ZberButton: TToolButton;

ZberegButton: TToolButton;

DrykButton: TToolButton;

RichEdit1: TRichEdit;

ImageList1: TImageList;

PopupMenu1: TPopupMenu;

  Vidmin: TMenuItem;

Liniya3: TMenuItem;

Vuriz: TMenuItem;

Kopiyuv: TMenuItem;

Vstavka: TMenuItem;

Vudal: TMenuItem;

Liniya4: TMenuItem;

Vudil_v: TMenuItem;

Liniya5: TMenuItem;

Shruf: TMenuItem;

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

PrintDialog1: TPrintDialog;

StatusBar1: TStatusBar;

Timer1: TTimer;

ColorDialog1: TColorDialog;

FindDialog1: TFindDialog;

Zaluvk: TMenuItem;

Zaluvk_text: TMenuItem;

Zaluvk_fony: TMenuItem;

Mark: TMenuItem;

Marker_vkl: TMenuItem;

Marker_vukl: TMenuItem;

PrinterSetupDialog1: TPrinterSetupDialog;

Vuhid: TMenuItem;

ReplaceDialog1: TReplaceDialog;

PageSetupDialog1: TPageSetupDialog;

VuhidButton: TToolButton;

VidminButton: TToolButton;

VurizButton: TToolButton;

KopiButton: TToolButton;

VstavButton: TToolButton;

VudalButton: TToolButton;

VudilButton: TToolButton;

PoshykButton: TToolButton;

ZaminButton: TToolButton;

ShyrnButton: TToolButton;

KyrsButton: TToolButton;

Image1: TImage;

Splitter1: TSplitter;

Splitter2: TSplitter;

Splitter3: TSplitter;

Splitter4: TSplitter;

Splitter5: TSplitter;

Splitter6: TSplitter;

Splitter7: TSplitter;

Splitter8: TSplitter;

Splitter9: TSplitter;

Splitter10: TSplitter;

Splitter11: TSplitter;

Splitter12: TSplitter;

Splitter13: TSplitter;

PidkresButton: TToolButton;

PolivButton: TToolButton;

PocentrButton: TToolButton;

  PopravButton: TToolButton;

Splitter16: TSplitter;

Splitter18: TSplitter;

Splitter19: TSplitter;

ShruftButton: TToolButton;

Splitter20: TSplitter;

CtextButton: TToolButton;

CfonButton: TToolButton;

Rozr1Button: TToolButton;

Rozr2Button: TToolButton;

Rozr3Button: TToolButton;

Rozr4Button: TToolButton;

Splitter14: TSplitter;

Splitter17: TSplitter;

Splitter21: TSplitter;

ProButton: TToolButton;

Format: TMenuItem;

procedure ShruftClick(Sender: TObject);

procedure Po_centryClick(Sender: TObject);

procedure Po_pravomy_krayuClick(Sender: TObject);

procedure Po_livomy_krayuClick(Sender: TObject);

procedure VklClick(Sender: TObject);

procedure VuklClick(Sender: TObject);

procedure Pro_programyClick(Sender: TObject);

procedure VuhidButtonClick(Sender: TObject);

procedure StvorutuClick(Sender: TObject);

procedure VidkrutuClick(Sender: TObject);

procedure ZberegtuClick(Sender: TObject);

procedure Zberegtu_yakClick(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure Zaluvka_fonyClick(Sender: TObject);

procedure Zaluvka_tekstyClick(Sender: TObject);

procedure VidminutuClick(Sender: TObject);

procedure KopiyuvatuClick(Sender: TObject);

procedure VstavutuClick(Sender: TObject);

procedure VurizatuClick(Sender: TObject);

procedure Vudilutu_vseClick(Sender: TObject);

procedure VudalutuClick(Sender: TObject);

procedure PoshykClick(Sender: TObject);

procedure VidminClick(Sender: TObject);

procedure VurizClick(Sender: TObject);

procedure KopiyuvClick(Sender: TObject);

procedure VstavkaClick(Sender: TObject);

procedure Vudil_vClick(Sender: TObject);

procedure ShrufClick(Sender: TObject);

procedure Zaluvk_textClick(Sender: TObject);

procedure Zaluvk_fonyClick(Sender: TObject);

procedure Marker_vklClick(Sender: TObject);

procedure Marker_vuklClick(Sender: TObject);

procedure VuhidClick(Sender: TObject);

procedure Nalashtyvannya_drykyClick(Sender: TObject);

procedure Parametru_storinkuClick(Sender: TObject);

procedure VurizButtonClick(Sender: TObject);

procedure DrykClick(Sender: TObject);

procedure RichEdit1Change(Sender: TObject);

procedure FindDialog1Find(Sender: TObject);

procedure ReplaceDialog1Find(Sender: TObject);

procedure ZaminaClick(Sender: TObject);

procedure ReplaceDialog1Replace(Sender: TObject);

procedure Poshyk_daliClick(Sender: TObject);

procedure StvorButtonClick(Sender: TObject);

procedure VidkrButtonClick(Sender: TObject);

procedure ZberButtonClick(Sender: TObject);

procedure ZberegButtonClick(Sender: TObject);

procedure DrykButtonClick(Sender: TObject);

procedure VidminButtonClick(Sender: TObject);

procedure KopiButtonClick(Sender: TObject);

procedure VstavButtonClick(Sender: TObject);

procedure VudalButtonClick(Sender: TObject);

procedure VudilButtonClick(Sender: TObject);

procedure PoshykButtonClick(Sender: TObject);

procedure ZaminButtonClick(Sender: TObject);

procedure ShruftButtonClick(Sender: TObject);

procedure PolivButtonClick(Sender: TObject);

procedure PocentrButtonClick(Sender: TObject);

procedure PopravButtonClick(Sender: TObject);

procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);

procedure CtextButtonClick(Sender: TObject);

procedure CfonButtonClick(Sender: TObject);

procedure ProButtonClick(Sender: TObject);

procedure VudalClick(Sender: TObject);

procedure KyrsButtonClick(Sender: TObject);

procedure ShyrnButtonClick(Sender: TObject);

procedure PidkresButtonClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

var OpenFile: string = ' ';

 Change : boolean;

implementation

uses Pro_prog;

{$R *.dfm}

 

procedure TForm1.ShruftClick(Sender: TObject);

begin

if FontDialog1.Execute then

with RichEdit1.SelAttributes do

begin

Color:=FontDialog1.Font.Color;

Name:=FontDialog1.Font.Name;

Size:=FontDialog1.Font.Size;

Style:=FontDialog1.Font.Style;

end;

RichEdit1.SetFocus; //Фокус введення вікна, направляючи в нього весь ввід з клавіатури.

end;

 

procedure TForm1.Po_centryClick(Sender: TObject);

begin

RichEdit1.Paragraph.Alignment:=taCenter;      //Вирівнювання тексту по центру.

end;

 

procedure TForm1.Po_pravomy_krayuClick(Sender: TObject);

begin

RichEdit1.Paragraph.Alignment:=taRightJustify; //Вирівнювання тексту по правому краю.

end;

 

procedure TForm1.Po_livomy_krayuClick(Sender: TObject);

begin

RichEdit1.Paragraph.Alignment:=taLeftJustify; //Вирівнювання тексту по лівому краю.

end;

 

procedure TForm1.VklClick(Sender: TObject);

begin

RichEdit1.Paragraph.Numbering:=nsBullet;

Form1.Vkl.Checked:=true;

Form1.Vukl.Checked:=false;

end;

 

procedure TForm1.VuklClick(Sender: TObject);

begin

RichEdit1.Paragraph.Numbering:=nsNone;

Form1.Vukl.Checked:=true;

Form1.Vkl.Checked:=false;

end;

 

procedure TForm1.Pro_programyClick(Sender: TObject);

begin

Form2.Showmodal; // відкриття форми 2.

end;

 

procedure TForm1.VuhidButtonClick(Sender: TObject);

begin

Form1.Close; // Закрити форми 1.

end;

 

procedure TForm1.StvorutuClick(Sender: TObject); //Створення нового текстового документа.

begin

if RichEdit1.Modified = true then

begin

case Application.MessageBox('Документ був змінений. Зберегти?', 'Текстовий редактор',MB_YESNOCANCEL + MB_ICONQUESTION) of

IDYES:

begin

Zberegtu_yak.Click;

if RichEdit1.Modified = false then

begin

RichEdit1.Clear;

OpenFile:=' ';

Form1.Caption:='Текстовий редактор';

RichEdit1.Modified:= false;

end;

end;

IDNO:

begin

RichEdit1.Clear;

OpenFile:=' ';

Form1.Caption:='Текстовий редактор';

RichEdit1.Modified:= false;

end;

end;

end

else

begin

RichEdit1.Clear;

OpenFile:='';

Form1.Caption:='Текстовий редактор';

RichEdit1.Modified:= false;

StatusBar1.Panels.Items[1].Text := 'Не змінений';

end;

end;

procedure TForm1.VidkrutuClick(Sender: TObject); //Відкрити файл

begin

if RichEdit1.Modified = true then

begin

case Application.MessageBox('Документ був змінений. Зберегти?', 'Текстовий редактор', MB_YESNOCANCEL + MB_ICONQUESTION) of

IDYES:

begin

Zberegtu_yak.Click;

if RichEdit1.Modified = false then

if OpenDialog1.Execute then

begin

RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName);

OpenFile:=OpenDialog1.FileName;

Form1.Caption:='Текстовий редактор - '+ExtractFileName(OpenFile);

RichEdit1.Modified:= false;

end;

end;

IDNO:

begin

if OpenDialog1.Execute then

begin

RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName);

OpenFile:=OpenDialog1.FileName;

Form1.Caption:='Текстовий редактор - '+ExtractFileName(OpenFile);

RichEdit1.Modified:= false;

end;

end;

end;

end

else

if OpenDialog1.Execute then

begin

RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName);

OpenFile:=OpenDialog1.FileName;

Form1.Caption:='Текстовий редактор - '+ExtractFileName(OpenFile);

RichEdit1.Modified:= false;

StatusBar1.Panels.Items[1].Text := 'Не змінений';

end;

end;

procedure TForm1.ZberegtuClick(Sender: TObject); // Зберегти документ

begin

if OpenFile <> '' then

begin

RichEdit1.Lines.SaveToFile(OpenFile);

RichEdit1.Modified:= false;

end

else

Zberegtu_yak.Click;

StatusBar1.Panels.Items[1].Text := 'Не змінений';

end;

 

procedure TForm1.Zberegtu_yakClick(Sender: TObject);

begin

case SaveDialog1.FilterIndex of

1: SaveDialog1.DefaultExt:='txt';

end;

if SaveDialog1.Execute then

begin

RichEdit1.Lines.SaveToFile(SaveDialog1.FileName);

OpenFile:=SaveDialog1.FileName;

Form1.Caption:='Текстовий редактор - '+ExtractFileName(OpenFile);

RichEdit1.Modified:= false;

StatusBar1.Panels.Items[1].Text := 'Не змінений';

end;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin

StatusBar1.Panels[2].Text:='Дата: '+DateToStr(date);

StatusBar1.Panels[3].Text:='Час: '+TimeToStr(Time);

end;

 

procedure TForm1.Zaluvka_fonyClick(Sender: TObject); // Заливка фону.

begin

if ColorDialog1.Execute then

Form1.RichEdit1.Color := ColorDialog1.Color;

end;

 

procedure TForm1.Zaluvka_tekstyClick(Sender: TObject); // Заливка тексту.

begin

ColorDialog1.Execute;

Form1.RichEdit1.SelAttributes.Color:=ColorDialog1.Color;

end;

 

procedure TForm1.VidminutuClick(Sender: TObject); //Відмінити

begin

RichEdit1.Undo;

end;

 

procedure TForm1.KopiyuvatuClick(Sender: TObject); // Копіювати

begin

Richedit1.CopyToClipboard;

end;

 

procedure TForm1.VstavutuClick(Sender: TObject); //Вставити

begin

Richedit1.PasteFromClipboard;

end;

 

procedure TForm1.VurizatuClick(Sender: TObject); //Вирізати

begin

Richedit1.CutToClipboard;

end;

 

procedure TForm1.Vudilutu_vseClick(Sender: TObject); //Виділити все

begin

Richedit1.SelectAll;

end;

 

procedure TForm1.VudalutuClick(Sender: TObject); //Видалити

begin

RichEdit1.ClearSelection;

end;

 

procedure TForm1.PoshykClick(Sender: TObject); /Пошук

begin

FindDialog1.Execute;

end;

 

procedure TForm1.VidminClick(Sender: TObject);

begin

RichEdit1.Undo;

end;

 

procedure TForm1.VurizClick(Sender: TObject);

begin

Richedit1.CutToClipboard;

end;

 

procedure TForm1.KopiyuvClick(Sender: TObject);

begin

Richedit1.CopyToClipboard;

end;

 

procedure TForm1.VstavkaClick(Sender: TObject);

begin

Richedit1.PasteFromClipboard;

end;

 

procedure TForm1.Vudil_vClick(Sender: TObject);

begin

RichEdit1.ClearSelection;

end;

 

procedure TForm1.ShrufClick(Sender: TObject);

begin

if FontDialog1.Execute then

with RichEdit1.SelAttributes do

begin

Color:=FontDialog1.Font.Color;

Name:=FontDialog1.Font.Name;

Size:=FontDialog1.Font.Size;

Style:=FontDialog1.Font.Style;

end;

RichEdit1.SetFocus;

end;

 

procedure TForm1.Zaluvk_textClick(Sender: TObject);

begin

ColorDialog1.Execute;

Form1.RichEdit1.SelAttributes.Color:=ColorDialog1.Color;

end;

 

procedure TForm1.Zaluvk_fonyClick(Sender: TObject);

begin

if ColorDialog1.Execute then

Form1.RichEdit1.Color := ColorDialog1.Color;

end;

 

procedure TForm1.Marker_vklClick(Sender: TObject);

begin

RichEdit1.Paragraph.Numbering:=nsBullet;

Form1.Vkl.Checked:=true;

Form1.Vukl.Checked:=false;

end;

 

procedure TForm1.Marker_vuklClick(Sender: TObject);

begin

RichEdit1.Paragraph.Numbering:=nsNone;

Form1.Vukl.Checked:=true;

Form1.Vkl.Checked:=false;

end;

 

procedure TForm1.VuhidClick(Sender: TObject);  //Вихід з програми

begin

Form1.Close;

end;

 

procedure TForm1.Nalashtyvannya_drykyClick(Sender: TObject); //Налаштування друку

begin

PrinterSetupDialog1.Execute;

end;

 

procedure TForm1.Parametru_storinkuClick(Sender: TObject); // Параметри сторінки

begin

PageSetupDialog1.Execute;

end;

 

procedure TForm1.VurizButtonClick(Sender: TObject);

begin

Richedit1.CutToClipboard;

end;

 

procedure TForm1.DrykClick(Sender: TObject);

begin

RichEdit1.Print('txt, rtf');

end;

 

procedure TForm1.RichEdit1Change(Sender: TObject);

var

X, Y : integer;

begin

Change := True;

StatusBar1.Panels.Items[1].Text := 'Змінений';

Y := SendMessage(RichEdit1.Handle,EM_LINEFROMCHAR,RichEdit1.SelStart,0);

X := RichEdit1.SelStart -SendMessage(RichEdit1.Handle,EM_LINEINDEX, Y, 0) ;

StatusBar1.Panels.Items[0].Text := IntToStr(Y + 1) + ':' + IntToStr(X + 1);

if RichEdit1.Text='' then  //Якщо RichEdit пустий, то кнопка Відмінити не активна

Vidminutu.Enabled:=false

else                                         // кнопка Відмінити стає активною 

Vidminutu.Enabled:=true;

if RichEdit1.Text='' then

Vurizatu.Enabled:=false

else

Vurizatu.Enabled:=true;

if RichEdit1.Text='' then

Vudalutu.Enabled:=false

else

Vudalutu.Enabled:=true;

if RichEdit1.Text='' then

Kopiyuvatu.Enabled:=false

else

Kopiyuvatu.Enabled:=true;

if RichEdit1.Text='' then

Poshyk.Enabled:=false

else

Poshyk.Enabled:=true;

if RichEdit1.Text='' then

Poshyk_dali.Enabled:=false

else

Poshyk_dali.Enabled:=true;

if RichEdit1.Text='' then

Vidmin.Enabled:=false

else

Vidmin.Enabled:=true;

if RichEdit1.Text='' then

Vuriz.Enabled:=false

else

Vuriz.Enabled:=true;

if RichEdit1.Text='' then

Kopiyuv.Enabled:=false

else

Kopiyuv.Enabled:=true;

if RichEdit1.Text='' then

Vudal.Enabled:=false

else

Vudal.Enabled:=true;

if RichEdit1.Text='' then

Vudil_v.Enabled:=false

else

Vudil_v.Enabled:=true;

 

end;

procedure TForm1.FindDialog1Find(Sender: TObject);

var

 FTPos:Integer;

 IText,FText:String;

begin

RichEdit1.SetFocus;

if not (frMatchCase in FindDialog1.Options) then

FText:=AnsiLowerCase(FindDialog1.FindText) else

FText:=FindDialog1.FindText;

if frDown in FindDialog1.Options then

 begin

IText:=copy(RichEdit1.Text,RichEdit1.SelStart+RichEdit1.SelLength+1,Length(RichEdit1.Text));

if not (frMatchCase in FindDialog1.Options) then IText:=AnsiLowerCase(IText);

FTPos:=pos(FText,IText);

if FTPos=0 then Exit;

 FTPos:=FTPos+RichEdit1.SelStart+RichEdit1.SelLength;

 RichEdit1.SelStart:=FTPos-1;RichEdit1.SelLength:=Length(FText);

 end else

 begin

IText:=copy(RichEdit1.Text,0,RichEdit1.SelStart);

if not (frMatchCase in FindDialog1.Options) then IText:=AnsiLowerCase(IText);

for FTPos:=length(IText)-length(FText) downto 1 do

if copy(IText,FTPos,length(FText))=FText then

begin

RichEdit1.SelStart:=FTPos-1;RichEdit1.SelLength:=Length(FText);

Exit;

end;

end;

end;

 

procedure TForm1.ReplaceDialog1Find(Sender: TObject);

begin

FindDialog1.Options:=ReplaceDialog1.Options;

FindDialog1.FindText:=ReplaceDialog1.FindText;

FindDialog1Find(Sender);

end;

procedure TForm1.ZaminaClick(Sender: TObject);

begin

ReplaceDialog1.Execute;

end;

 

procedure TForm1.ReplaceDialog1Replace(Sender: TObject);

begin

FindDialog1.Options:=ReplaceDialog1.Options;

FindDialog1.FindText:=ReplaceDialog1.FindText;

with Sender as TReplaceDialog do

while True do

begin

if RichEdit1.SelText <> FindText then FindDialog1Find(Sender);

if RichEdit1.SelLength = 0 then Break;

RichEdit1.SelText := ReplaceText;

if not (frReplaceAll in Options) then Break;

end;

end;

procedure TForm1.Poshyk_daliClick(Sender: TObject);

begin

FindDialog1Find(Sender);

end;

 

procedure TForm1.StvorButtonClick(Sender: TObject);

begin

if RichEdit1.Modified = true then

begin

case Application.MessageBox(''Документ був змінений. Зберегти?', 'Текстовий редактор'',MB_YESNOCANCEL + MB_ICONQUESTION) of

IDYES:

begin

Zberegtu_yak.Click;

if RichEdit1.Modified = false then

begin

RichEdit1.Clear;

OpenFile:='';

Form1.Caption:='Текстовий редактор';

RichEdit1.Modified:= false;

end;

end;

IDNO:

begin

RichEdit1.Clear;

OpenFile:='';

Form1.Caption:='Текстовий редактор';

RichEdit1.Modified:= false;

end;

end;

end

else

begin

RichEdit1.Clear;

OpenFile:='';

Form1.Caption:='Текстовий редактор';

RichEdit1.Modified:= false;

StatusBar1.Panels.Items[1].Text := 'Не змінений';

end;

end;

procedure TForm1.VidkrButtonClick(Sender: TObject);

begin

if RichEdit1.Modified = true then

begin

case Application.MessageBox('Äîêóìåíò 'Документ був змінений. Зберегти?', 'Текстовий редактор',MB_YESNOCANCEL + MB_ICONQUESTION) of

IDYES:

begin

Zberegtu_yak.Click;

if RichEdit1.Modified = false then

if OpenDialog1.Execute then

begin

RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName);

OpenFile:=OpenDialog1.FileName;

Form1.Caption:='Текстовий редактор - '+ExtractFileName(OpenFile);

RichEdit1.Modified:= false;

end;

end;

IDNO:

begin

if OpenDialog1.Execute then

begin

RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName);

OpenFile:=OpenDialog1.FileName;

Form1.Caption:='Текстовий редактор - '+ExtractFileName(OpenFile);

RichEdit1.Modified:= false;

end;

end;

end;

end

else

if OpenDialog1.Execute then

begin

RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName);

OpenFile:=OpenDialog1.FileName;

Form1.Caption:='Текстовий редактор - '+ExtractFileName(OpenFile);

RichEdit1.Modified:= false;

StatusBar1.Panels.Items[1].Text := 'Не змінений';

end;

end;

procedure TForm1.ZberButtonClick(Sender: TObject);

begin

if OpenFile <> '' then

begin

RichEdit1.Lines.SaveToFile(OpenFile);

RichEdit1.Modified:= false;

end

else

Zberegtu_yak.Click;

StatusBar1.Panels.Items[1].Text := 'Не змінений';

end;

procedure TForm1.ZberegButtonClick(Sender: TObject);

begin

case SaveDialog1.FilterIndex of

1: SaveDialog1.DefaultExt:='txt';

end;

if SaveDialog1.Execute then

begin

RichEdit1.Lines.SaveToFile(SaveDialog1.FileName);

OpenFile:=SaveDialog1.FileName;

Form1.Caption:='Текстовий редактор - '+ExtractFileName(OpenFile);

RichEdit1.Modified:= false;

StatusBar1.Panels.Items[1].Text := 'Не змінений';

end;

end;

procedure TForm1.DrykButtonClick(Sender: TObject);

begin

RichEdit1.Print('txt,rtf');

end;

 

procedure TForm1.VidminButtonClick(Sender: TObject);

begin

RichEdit1.Undo;

end;

 

procedure TForm1.KopiButtonClick(Sender: TObject);

begin

Richedit1.CopyToClipboard;

end;

 

procedure TForm1.VstavButtonClick(Sender: TObject);

begin

Richedit1.PasteFromClipboard;

end;

 

procedure TForm1.VudalButtonClick(Sender: TObject);

begin

RichEdit1.ClearSelection;

end;

 

procedure TForm1.VudilButtonClick(Sender: TObject);

begin

Richedit1.SelectAll;

end;

 

procedure TForm1.PoshykButtonClick(Sender: TObject);

begin

FindDialog1.Execute;

end;

 

procedure TForm1.ZaminButtonClick(Sender: TObject);

begin

ReplaceDialog1.Execute;

end;

 

procedure TForm1.ShruftButtonClick(Sender: TObject);

begin

if FontDialog1.Execute then

with RichEdit1.SelAttributes do

begin

Color:=FontDialog1.Font.Color;

Name:=FontDialog1.Font.Name;

Size:=FontDialog1.Font.Size;

Style:=FontDialog1.Font.Style;

end;

RichEdit1.SetFocus;

end;

 

procedure TForm1.PolivButtonClick(Sender: TObject);

begin

RichEdit1.Paragraph.Alignment:=taLeftJustify;

end;

 

procedure TForm1.PocentrButtonClick(Sender: TObject);

begin

RichEdit1.Paragraph.Alignment:=taCenter;

end;

 

procedure TForm1.PopravButtonClick(Sender: TObject);

begin

RichEdit1.Paragraph.Alignment:=taRightJustify;

end;

 

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

begin

if RichEdit1.Modified = true then

begin

case Application.MessageBox('Документ був змінений. Зберегти?', 'Текстовий редактор',MB_YESNOCANCEL + MB_ICONQUESTION) of

IDCANCEL: Abort;

IDYES:

begin

Zberegtu.Click;

if RichEdit1.Modified = true then

CanClose:=false;

end;

end;

end;

end;

 

procedure TForm1.CtextButtonClick(Sender: TObject);

begin

ColorDialog1.Execute;

Form1.RichEdit1.SelAttributes.Color:=ColorDialog1.Color;

end;

 

procedure TForm1.CfonButtonClick(Sender: TObject);

begin

if ColorDialog1.Execute then

Form1.RichEdit1.Color := ColorDialog1.Color;

end;

 

procedure TForm1.ProButtonClick(Sender: TObject);

begin

Form2.ShowModal;

end;

 

procedure TForm1.VudalClick(Sender: TObject);

begin

RichEdit1.ClearSelection;

end;

 

procedure TForm1.KyrsButtonClick(Sender: TObject);

begin

Richedit1.SelAttributes.Style := [fsitalic];

end;

 

procedure TForm1.ShyrnButtonClick(Sender: TObject);

begin

Richedit1.SelAttributes.Style := [fsbold];

end;

 

procedure TForm1.PidkresButtonClick(Sender: TObject);

begin

Richedit1.SelAttributes.Style := [fsunderline];

 

end;

 

end.

Зміст

Вступ. 3

Опис компонентів Delphi, використаних при розробці проекту. 5

Компонент MainMenu. 5

Компонент RichEdit 5

Компонент ToolBar. 6

Компонент ToolButton. 6

Компонент Splitter. 7

Компонент StatusBar. 7

Компонент PopupMenu. 8

Компонент Image. 8

Компонент ImageList 8

Компонент FontDialog. 9

Компонент FindDialog (ReplaceDialog). 9

Компонент PrintDialig (PrintSetupDialog). 9

Компонент OpenDialog (SaveDialog). 10

Компонент PageSetupDialog. 10

Компонент Label 11

Компонент ColorDialog. 11

Компонент Timer. 11

Опис програми-додатку. 12

Список дій користувача. 12

Алгоритм роботи програми. 13

Структура програми – додатку. 14

Опис графічного інтерфейсу програми-додатку. 15

Висновок. 20

Перелік використаної літератури. 21

Додатки. 22

Текст програмного коду. 22

Вигляд вікон програми - додатку в процесі проектування. 46

Вигляд вікон програми- додатку в працюючому вигляді 47

 



Вступ

Системне програмне забезпечення — це комплекс програм, які забезпечують ефективне управління компонентами обчислювальної системи, такими як процесор, оперативна пам'ять, канали введення-виведення, мережеве обладнання, виступаючи як «міжшарової інтерфейс » з одного боку якого апаратура, а з іншого додатки користувача. На відміну від прикладного програмного забезпечення, системне не вирішує конкретні прикладні задачі, а лише забезпечує роботу інших програм, управляє апаратними ресурсами обчислювальної системи і т.д.

Програмування — процес створення комп'ютерних програм та програмного забезпечення. Програмування поєднує в собі елементи інженерії (існує навіть відповідна спеціальна галузь інженерії — програмна інженерія (англ. software engineering), фундаментальних наук (перш за все математики) і мистецтва.

У більш вузькому значенні програмування розглядається як кодування — реалізація у вигляді програми одного чи кількох взаємопов'язаних алгоритмів (у сучасних умовах це здійснюється з застосуванням мов програмування). У ширшому сенсі процес програмування охоплює і створення, тобто розробку, алгоритмів, і аналіз потреб майбутніх користувачів програмного забезпечення.

У широкому значенні програмування використовується у значенні створення програми дій або алгоритмів та навчання людей або пристроїв діяти за алгоритмами.

Borland Delphi — це інтегроване середовище розробки програмного забезпечення фірми Borland. Мова Delphi – це універсальна об’єктно-орієнтована мова, в основі якої лежить Object Pascal.

Завдяки великим функціональним можливостям і простоті складення програм Pascal став інтенсивно використовуватися також для створення комерційних додатків.В свій час дуже популярною версією Pascal була Turbo Pascal, яка розроблена компанією Borland. З розвитком операціонної системи Windows і технологій об’єктно-орієнтованого програмування компанія Borland розширила Turbo Pascal, створивши версії Turbo Pascal for Windows і Object Pascal for Windows. Наступним кроком компанії було створення Delphi візуального середовища розробки програм в Object Pascal під керуванням операціонної системи Windows.

За допомогою Delphi можна створювати найпростіші додатки, на розробку яких потрібно декілька годин, так і серйозні проекти, призначених для роботи десятків або сотень користувачів. Delphi призначений не тільки для програмістів, ним також можуть користуватися бізнесмени, викладачі, тобто всі ті, хто використовує комп’ютер з чисто прикладною метою, тобто для того, щоб швидко вирішити певні свої завдання, не залучаючи для цього програмістів.

Завданням курсової роботи є створення програми-додатку “Текстовий редактор”.

Метою курсової роботи є створення програми для перегляду (формати - *.rtf, *.txt), редагування, збереження тектових документів, тощо.

 



Опис компонентів Delphi, використаних при розробці проекту

Компонент MainMenu

За допомогою компонента ManeMenu (Головне меню) програміст може створити в Delphi головне меню для своєї форми. Цей елемент керування складається з рядка меню і ассоційованих з її елементами відкриваних меню.

Основна властивість MainMenu - Items . Його заповнення здійснюється за допомогою Конструктора Меню, що викликається подвійним клацанням на компоненті MainMenu або натиснувши кнопку з трьома крапками поруч з властивістю Items у вікні Інспектори Об'єктів. У цьому вікні ви можете спроектувати все меню. Властивість Caption означає напис розділу. Властивість Name задає ім'я об'єкта, відповідного розділу меню. Дуже корисно давати цих об'єктів осмислені імена, тому що інакше ви скоро заплутаєтеся в нічого не говорячих іменах типу N21.

Компонент RichEdit

Компонент RichEdit є засобом редагування текстів, який дозволяє працювати з форматом *.rtf, тобто дає можливість вибрати різні істотні властивості об'єкта форматування для різних фрагментів тексту. У Вікні редагування є безліч функцій, які властиві більшості редакторів. Наприклад, у ньому передбачені стандартні сполучення гарячих клавіш: Ctrl-C - скопіювати виділений текст в Clipboard - буфер обміну (команда Copy), Ctrl-X - вирізати виділений текст в буфер, Clipboard (команда Cut), Ctrl-V - вставити текст з буфера Clipboard в позицію курсора (команда Paste), Ctrl-Z - скасувати останню команду редагування.

Компонент ToolBar

Компонент ToolBar – це є інструментальна панель. Цей компонент служить контейнером для командних кнопок BitBtn, ToolButton  і здатний автоматично змінювати свої розміри і положення при додаванні або видаленні кнопок.

Головна відмінна риса компонента TToolBar - його здатність гнучкого управління дочірніми елементами, які він може групувати, вирівнювати за розмірами, розташовувати в кілька рядів. Компонент може маніпулювати будь-якими вставленими в нього дочірніми елементами, але всі його можливості повною мірою виявляються тільки зі спеціально для нього розробленим компонентом TToolButton (кнопка панелі інструментів).

Компонент ToolButton

Компонент ToolButton компонент схожий на кнопку TSpeedButton, але не потрібно його шукати в палітрі компонентів - його там немає. Оскільки він розроблений спеціально для TToolBar, вставити його в інструментальну панель можна тільки після клацання правою кнопкою на компоненті ToolBar і виборі NewButton або NewSeparator (сепаратори призначені для функціонального виділення на інструментальній панелі груп елементів і являють собою різновиди кнопок ToolButton). Компонент ToolButton не має властивості, призначеної для зберігання картинки, однак ToolBar вміє використовувати контейнер imageList, щоб витягти з нього потрібну картинку і помістити її на інструментальну кнопку.

Компонент Splitter

 Цей компонент створює межу між двома видимими компонентами і дає можливість користувачу переміщати її.

Компонент StatusBar

Компонент StatusBar являє собою ряд панелей, що відображають смугу стану в стилі Windows. Зазвичай ця смуга розміщується внизу форми.

Властивість SimplePanel визначає, чи включає смуга стану одну або безліч панелей. Якщо SimplePanel = true, то вся смуга стану являє собою єдину панель, текст якої задається властивістю SimpleText. Якщо ж SimplePanel = false, то смуга стану є набором панелей, що задаються властивістю Panels. У цьому випадку властивість SizeGrip визначає, чи може користувач змінювати розміри панелей в процесі виконання програми.

Кожна панель смуги стану є об'єктом типу TStatusPanels. Властивості панелей можна задавати спеціальним редактором наборів.. Викликати редактор можна трьома способами: з Інспектора Об'єктів кнопкою з трьома крапками близько властивості Panels, подвійним клацанням на компоненті StatusBar або з контекстного меню, вибравши команду "Panels Editor". У вікні редактора можна переміщатися по панелях, додавати нові або знищувати існуючі. При переміщенні по панелях у вікні Інспектора Об'єктів можна бачити їх властивості.

Основна властивість кожної панелі - Text, в який заноситься відображається в панелі текст. Його можна занести в процесі проектування, а потім можна змінювати програмно під час виконання.

Компонент PopupMenu

Компонент PopupMenu майже не відрізняється від компонента MainMenu і також є невізуальним. Але на відміну від Головного меню, яке одне на Формі, спливаючі меню можуть бути у кожного об'єкта, розміщеного на Формі. Тому потрібно розмістити на Формі і запрограмувати стільки компонентів PopupMenu, скільки контекстних меню передбачається використовувати в програмі. Крім того, контекстне меню не має кількох пунктів верхнього рівня, так як всі його пункти розташовуються в одному вертикальному стовпці.

Компонент Image

Компонент Image дає відображення на формі графічного зображення. Властивість Picture типу TPicture містить відображувану графічну складову, у якої тип - бітова матриця, піктограми, метафайлу або певного користувачем типу. Властивість Canvas дозволяє створювати і редагувати зображення.

Компонент ImageList

Компонент ImageList являє собою набір зображень однакових розмірів, на які можна посилатися за індексами, що починається з 0. У багатьох розглянутих раніше компонентах (меню, списках та ін..) зустрічалися властивості, що представляють собою посилання на компонент ImageList. Цей компонент дозволяє організувати ефективне і економне управління безліччю піктограм і бітових матриць. Він може включати в себе монохромні бітові матриці, що містять маски для відображення.

Компонент FontDialog

Компонент FontDialog викликає діалогове вікно вибору атрибутів шрифту. У ньому користувач може вибрати ім'я шрифту, його стиль (накреслення), розмір і інші атрибути.


Поделиться:



Последнее изменение этой страницы: 2019-04-10; Просмотров: 220; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.855 с.)
Главная | Случайная страница | Обратная связь