Введение в ABCButtons: различия между версиями
Содержимое удалено Содержимое добавлено
Нет описания правки Метка: редактор вики-текста 2017 |
м style editing Метка: редактор вики-текста 2017 |
||
Строка 1: | Строка 1: | ||
ABCButtons - модуль для создания кнопок на PascalABC.NET. Основан на ABCObjects. |
'''ABCButtons '''- модуль для создания кнопок на '''PascalABC.NET'''. Основан на '''ABCObjects'''. |
||
{{Внимание|Данный модуль является специфическим для '''PascalABC.NET''' и не поддерживается другими диалектами '''Pascal''' и остальными языками.}}{{Внимание|В настоящее время '''рекомендуется''' использовать технологию [https://www.wpf-tutorial.com/ '''WPF'''] для создания оконных приложений под '''Windows'''. Кроссплатформенным аналогом является [https://avaloniaui.net/ '''Avalonia UI''']. Однако, данные технологии '''не поддерживаются''' в полной мере (например, для '''WPF''' отсутствует дизайнер форм и возможность писать на '''XAML''' из IDE) в '''PascalABC.NET'''. Для их использования рекомендуется применять такие среды разработки, как [https://visualstudio.microsoft.com/downloads/ '''Visual Studio'''] и [https://www.jetbrains.com/rider/download/ '''Rider'''].}} |
{{Внимание|Данный модуль является специфическим для '''PascalABC.NET''' и не поддерживается другими диалектами '''Pascal''' и остальными языками.}}{{Внимание|В настоящее время '''рекомендуется''' использовать технологию [https://www.wpf-tutorial.com/ '''WPF'''] для создания оконных приложений под '''Windows'''. Кроссплатформенным аналогом является [https://avaloniaui.net/ '''Avalonia UI''']. Однако, данные технологии '''не поддерживаются''' в полной мере (например, для '''WPF''' отсутствует дизайнер форм и возможность писать на '''XAML''' из IDE) в '''PascalABC.NET'''. Для их использования рекомендуется применять такие среды разработки, как [https://visualstudio.microsoft.com/downloads/ '''Visual Studio'''] и [https://www.jetbrains.com/rider/download/ '''Rider'''].}} |
||
Строка 5: | Строка 5: | ||
=Основные классы= |
=Основные классы= |
||
ABCButtons содержит следующие классы: |
'''ABCButtons '''содержит следующие классы: |
||
# '''ButtonABC''' (кнопка) [[https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.button?view=netcore-3.1 аналог в Windows Forms]] |
# '''ButtonABC''' (кнопка) [[https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.button?view=netcore-3.1 аналог в '''Windows Forms''']] |
||
=ButtonABC= |
=ButtonABC= |
||
Button (наследуется от UIElementABC) - класс кнопки. Для ее создания пишите: |
'''Button '''(наследуется от '''UIElementABC''') - класс кнопки. Для ее создания пишите: |
||
<syntaxhighlight lang="pascal">new Button({x}, {y}, {width}, {height}, {text}, {color});</syntaxhighlight> |
<syntaxhighlight lang="pascal">new Button({x}, {y}, {width}, {height}, {text}, {color});</syntaxhighlight> |
||
, заменив: |
, заменив: |
Версия от 10:59, 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
Button (наследуется от UIElementABC) - класс кнопки. Для ее создания пишите:
new Button({x}, {y}, {width}, {height}, {text}, {color});
, заменив:
- {x} и {y} на x, y кнопки
- {width} и {height} на её ширинку и высоту
- {text} на текст на кнопке
- {color} на её цвет.
Событие | Значение |
---|---|
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.