- •Пример 1. Применение стандартных кнопок, меток и полей редактирования
- •Пример 2. Диалоговые окна
- •Пример 1. Радиокнопки
- •Текст файла Unit1.Pas
- •Пример 2. Использование компонента CheckBox
- •Текст файла Unit1.Pas
- •Пример 3. Калькулятор
- •Пример 1. Строка состояния
- •Пример 2. Системные диалоги. Загрузка текстового файла
- •Пример 3. Системные диалоги. Изменение параметров шрифта
- •Способ 2
- •Пример 2. Геометрические фигуры. Типы заливок
- •Пример 3. Построение графика функции на канве. Преобразование координат
- •Пример 1. Загрузка графических изображений
- •Пример 2. Компонент Timer
Пример 2. Системные диалоги. Загрузка текстового файла
Разработаем приложение, в котором осуществляется загрузка текстового файла в формате RTF или TXT в компонент RichEdit, а также существует возможность изменения параметров шрифта отображаемого текста при помощи вызова соответствующего системного диалога.
В приложении должно быть две стандартных кнопки (с надписями «Показать» и «Шрифт»), компонент RichEdit, компоненты OpenDialog и FontDialog (страница Dialogs).
Компоненты OpenDialog и FontDialog являются невизуальными, поэтому могут располагаться в любом месте формы.
Процедура для кнопки "Шрифт" должна выглядеть следующим образом:
procedure TForm1.Button1Click(Sender: TObject); begin if FontDialog1.Execute thenRichEdit1.SelAttributes.Assign(FontDialog1.Font); RichEdit1.SetFocus; end; |
Процедура для кнопки «Показать» будет выглядеть так:
procedure TForm1.Button2Click(Sender: TObject); begin if OpenDialog1.Execute thenRichEdit1.Lines.LoadFromFile(OpenDialog1.FileName); end; |
Пример 3. Системные диалоги. Изменение параметров шрифта
Разработаем приложение, в котором осуществляется загрузка текстового файла в формате RTF или TXT в компонент RichEdit, а также существует возможность изменения параметров шрифта отображаемого текста при помощи вызова соответствующего системного диалога, причём диалоги будут появляться при выборе пунктов меню.
В приложении должно быть следующие компоненты: MainMenu,RichEdit, OpenDialog и FontDialog (страница Dialogs).
После того, как все компоненты будут размещены на форме, выполните двойной щелчок на компоненте MainMenu для открытия окна редактора меню и создайте в нём пункт «Меню» два подпункта: «Открыть» и «Шрифт». Затем закройте окно редактора меню. В результате создания пунктов на форме отобразится строка меню с пунктом «Меню». При выборе одного из подпунктов меню появляется заготовка в окне редактора кода для написания процедуры по обработке события, связанного с выбором данного пункта меню. Напишите соответствующие процедуры для подпунктов «Открыть» и «Шрифт».
Вид приложения с размещёнными на форме компонентами на этапе разработки
Текст файла Unit1.pas
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, Menus;
type TForm1 = class(TForm) OpenDialog1: TOpenDialog; RichEdit1: TRichEdit; FontDialog1: TFontDialog; MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.N1Click(Sender: TObject); begin if OpenDialog1.Execute then RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName); end;
procedure TForm1.N2Click(Sender: TObject); begin if FontDialog1.Execute thenRichEdit1.SelAttributes.Assign(FontDialog1.Font); RichEdit1.SetFocus; end;
end. |
Пример 1. Рисование на канве
В данном примере представлено приложение, которое рисует по пикселям график синусоиды на канве формы.
Измените ширину и высоту формы будущего приложения примерно так, как это показано на рисунках ниже.
Способ 1
Для рисования будем использовать свойство канвы Pixels.
В окне Object Inspector на вкладке Events выберите событие OnPaintи сделайте двойной щелчок в строке напротив этого события. Перед вами появится окно редактора кода с заготовкой процедуры для обработки события OnPaint. Разместите следующий код в теле процедуры:
procedure TForm1.FormPaint(Sender: TObject); var X,Y: real; // координаты функции PX,PY: longint; // координаты пикселей begin Color := clWhite; for PX := 0 to ClientWidth do begin {X – аргумент графика, соответствующий пикселю с координатой РХ} X := PX*4*Pi/ClientWidth; Y:=Sin(X); {PY – координата пикселя, соответствующая координате Y} PY:=trunc(ClientHeight - (Y+1)*ClientHeight/2); {Устанавливается черный цвет выбранного пикселя (0 яркости)} Canvas.Pixels [PX, PY] := 0; end; end; |
При запуске приложение будет выглядеть следующим образом:
График получился нечётким, разбитым на отдельные точки – пиксели.
