Введение в ABCButtons: различия между версиями

Материал из Викиучебника — открытых книг для открытого мира
Содержимое удалено Содержимое добавлено
→‎Привязка обработчиков событий: Добавлено содержимое
Метки: с мобильного устройства из мобильной версии
Строка 8: Строка 8:
//объявление кнопок
//объявление кнопок
begin
begin
{Также возможно объявление внутри блочных переменных(подаразумеваються кнопки).
В модулях,библиотеках,классах также можно объявлять кнопки.
}
end.</source>
end.</source>



Версия от 17:03, 12 августа 2016

Содержание

  1. Python
    1. tkinter Стандратный модуль для создания приложений с GUI интерфейсом.
  2. VBA
    1. VBA GUI в среде MS Excel.
  3. HTML
    1. HTML book Обзор GUI в HTML.
  4. Pascal
    1. Windows Forms Интерфейс (API) для создания GUI-приложений.

ABCButtons - модуль для создания кнопок на PascalABC.Net.

Использование ABCButtons

ABCButtons довольно примитивный модуль , годен для создания только кнопок. Все программы, использующие модуль должны иметь следующий вид:

uses GraphABC, ABCButtons;
var
//объявление кнопок
begin
end.

Класс ButtonABC

ABCButton - класс кнопки.

  • Декларировать в секции var кнопку можно так:
Button:ButtonABC;
  • Инициализировать с помощью new кнопку можно следующим образом:
Button:=new ButtonABC(x,y,w,h,t,c);

x, y - координаты левого верхнего угла кнопки; w, h - ширина и высота кнопки соответственно; t - текст на кнопке; c - цвет кнопки.

Свойство Значение
Text Текст на кнопке.
Filled Заполнена ли цветом кнопка (true, false).
Color Цвет внутренности кнопки.
FontColor Цвет текста кнопки.
Visible Видимость кнопки (true, false).
TextVisible Видимость текста на кнопке (true, false).

Курсор

Параметры x и y в обработчиках OnMouseDown, OnMouseUp и OnMouseMove определяют координаты курсора мыши в момент наступления события.

Привязка обработчиков событий

Чтобы выполнялась некоторая процедура при нажатии на кнопку пишите:

a.OnClick:=p;
//Альтернативный вариант
A.OnClick+=p;
//Изъятие процедуры
A.OnClick-=p;

a - имя кнопки, p - процедура, которая выполниться по нажатию на кнопку a.

  • Внимание ,существует ограничение,не позволяющее выполняться двум процедурам одновременно.То есть пока одна процедура не выполняться другая не начнёт выполняться.Также если ваша процедура содержит бесконечный цикл,то все остальные кнопки на время выполнения цикла дизактивируються или проще не будут работать .

Окно GraphABC

GraphABCWindow - класс графического окна.

Процедура Значение
GraphABCWindow.SetSize(x,y) Устанавливает размер окна xxy в пикселях.
SetWindowIsFixedSize(x) Устанавливает, возможно ли изменять размер окна или нет.

  • k=true - окно имеет фиксированный размер
  • k=false - размер окна можно изменять

Пример программы

  • Вывод "Привет мир!" по щелчку на кнопку.
uses crt, GraphABC, ABCButtons;
var a:ButtonABC;
procedure p():=system.console.writeline('Привет мир!');
begin
  a:=new ButtonABC(0,0,100,40,'Button',clred);
  a.OnClick:=p;
end.