Введение в ABCButtons: различия между версиями
Содержимое удалено Содержимое добавлено
Метка: редактор вики-текста 2017 |
Нет описания правки Метка: редактор вики-текста 2017 |
||
Строка 13: | Строка 13: | ||
, где: |
, где: |
||
* '''{x}''', '''{y}''' - x, y кнопки |
* '''{x}''', '''{y}''' - x, y кнопки |
||
* '''{width}''', '''{height}'''- ширина, высота кнопки |
* '''{width}''', '''{height}''' - ширина, высота кнопки |
||
* '''{text}''' - текст на кнопке |
* '''{text}''' - текст на кнопке |
||
* '''{color}''' - цвет кнопки |
* '''{color}''' - цвет кнопки |
Версия от 11:13, 17 июля 2020
ABCButtons - модуль для создания кнопок на PascalABC.NET. Основан на ABCObjects.
Внимание! Данный модуль является специфическим для PascalABC.NET и не поддерживается другими диалектами Pascal и остальными языками. |
Внимание! В настоящее время рекомендуется использовать технологию WPF для создания оконных приложений под Windows. Кроссплатформенным аналогом является Avalonia UI. Однако, данные технологии не поддерживаются в полной мере (например, для WPF отсутствует дизайнер форм и возможность писать на XAML из IDE) в PascalABC.NET. Для их использования рекомендуется применять такие среды разработки, как Visual Studio и Rider. |
Основные классы
ABCButtons содержит следующие классы:
- ButtonABC (кнопка) [аналог в Windows Forms]
ButtonABC
ButtonABC (наследуется от UIElementABC) - класс кнопки. Для ее создания пишите:
new ButtonABC({x}, {y}, {width}, {height}, {text}, {color});
, где:
- {x}, {y} - x, y кнопки
- {width}, {height} - ширина, высота кнопки
- {text} - текст на кнопке
- {color} - цвет кнопки
, причём {height} - необязательно указывать.
Событие | Значение |
---|---|
OnClick | Хранит ссылку на процедуру, которая выполняется при нажатии на кнопку. Для установки её значения используйте :=. |
Примеры
Смена цвета кнопки
uses ABCButtons;
uses GraphABC;
begin
var b := new ButtonABC(0, 0, 200, 50, 'Click Me', clRed);
b.OnClick := procedure ->
begin
b.Color := clRandom();
b.FontColor := RGB(255 - b.Color.R, 255 - b.Color.G, 255 - b.Color.B);
end;
end.
Простой таймер
uses Timers, GraphABC, ABCObjects, ABCButtons;
const
H = 30;
var
Start, Stop: ButtonABC;
Value: RectangleABC;
T: integer;
Timer1: Timer;
procedure AddTime();
begin
Inc(T);
Value.Text := IntToStr(T);
end;
procedure StartTimer() := Timer1.Start();
procedure StopTimer() := Timer1.Stop();
begin
SetWindowIsFixedSize(true);
SetWindowSize(300, 100);
SetWindowCaption('Timer');
CenterWindow();
var W := Window.Width div 2;
var Y := Window.Height - H;
Timer1 := new Timer(1000, AddTime);
Start := new ButtonABC(0, Y, W, H, 'Start', clMoneyGreen);
Start.OnClick := StartTimer;
Stop := new ButtonABC(W, Y, W, H, 'Stop', clMoneyGreen);
Stop.OnClick := StopTimer;
Value := new RectangleABC(0, 0, Window.Width, Y, clWhite);
Value.Text := '0';
end.