русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

ОБРАБОТКА СОБЫТИЙ КЛАВИАТУРЫ И МЫШИ


Дата добавления: 2013-12-23; просмотров: 1773; Нарушение авторских прав


КОМПОНЕНТЫ МЕНЮ

Индикатор CheckBox

Группы радиокнопок — компоненты RadioGroup, RadioButton и GroupBox

 

Радиокнопки образуют группы взаимосвязанных индикаторов, из которых обычно может быть выбран только один. Они используются для выбора пользователем одной из нескольких взаимоисключающих альтернатив.

RadioGroup— панель группы радиокнопок. А надписи кнопок и их количество определяются свойством Items,имеющим тип TStrings.

Определить, какую из кнопок выбрал пользователь, можно по свойству ItemIndex, которое показывает индекс выбранной кнопки. Индексы, как всегда в Delphi, начинаются с 0. По умолчанию Itemlndex= -1, что означает отсутствие выбранной кнопки.

Пример просмотра выбранной альтернативы: Label1.SetTextBuf(PChar(IntToStr(RadioGroup1.ItemIndex)));

 

Использование группы радиокнопок не всегда удобно. Его хорошо использовать, если надписи кнопок имеют примерно одинаковую длину, иначе кнопки могут быть автоматически размещены не очень красиво.

В этом случае удобно использоватьRadioButton,сгруппированные панелью GroupBox.Эта панель сама по себе пустая. Ее назначение — служить контейнером для других управляющих элементов, в частности, для радиокнопок RadioButton.

 

Индикаторы с флажком CheckBoxиспользуются в приложениях в основном для того, чтобы пользователь мог включать и выключать какие-то опции, или для индикации состояния. При каждом щелчке пользователя на индикаторе его состояние изменяется.

Проверять состояние индикатора можно по значению свойства Checked.Если Checkedравно true,то индикатор выбран иначеCheckedравно false.

 

Label1.SetTextBuf(PChar(BoolToStr(CheckBox1.Checked)));

 

В Delphi имеется два компонента, представляющие меню: MainMenu— главное меню, и PopupMenu— всплывающее меню. Оба компонента расположены на странице Standard.



Обычно на форму помещается один компонент MainMenu.Основное свойство компонента — Items.Каждый раздел меню, т.е. каждый элемент свойства Items, является объектом типа TMenuItem, обладающий своими свойствами, методами, событиями. Основное событие раздела меню— OnClick, возникающее при щелчке пользователя на разделе или при нажатии горячих клавиш быстрого доступа. Свойство объекта TMenuItem - Caption обозначает надпись раздела (элемента меню).

 

 

 

Все действия пользователя при взаимодействии с приложением сводятся к перемещению мыши, нажатию кнопок мыши и нажатию клавиш клавиатуры. Рассмотрим обработку в приложении событий, связанных с этими манипуляциями пользователя.

В компонентах Delphi определен ряд событий, связанных с мышью. Это события:

 

 

 

Наиболее широко используется событие OnClick.Обычно оно наступает, если пользователь щелкнул на компоненте, т.е. нажал и отпустил кнопку мыши, когда указатель мыши находился на компоненте. Но это событие происходит также и при некоторых других действиях пользователя. Оно наступает, если:

• Пользователь выбрал элемент в сетке, дереве, списке, выпадающем списке,

нажав клавишу со стрелкой.

• Пользователь нажал клавишу пробела, когда кнопка или индикатор были

в фокусе.

• Пользователь нажал клавишу Enter, а активная форма имеет кнопку по умолчанию, указанную свойством Default.

• Пользователь нажал клавишу Esc, а активная форма имеет кнопку прерыва-

ния, указанную свойством Cancel.

И некоторых других.

 

Для формы событие OnClickнаступает, если пользователь щелкнул на пустом месте формы или на недоступном компоненте.

 

Рассмотрим простейшее действие пользователя: переключение с помощью мыши фокуса с одного элемента на другой. Последовательность событий в этом случае приведена в таблице.

 

 

 

Во все обработчики событий, связанных с манипуляциями мыши (как и во все другие обработчики) передается параметр Senderтипа TObject.Этот параметр содержит указатель на компонент, в котором произошло событие.

procedure TForm1.Button1Click(Sender: TObject);

begin

 

end;

Методы обработки событий прописываются в файле Unit.dfm

Например:

object Button1: TButton

Left = 200

Top = 168

Width = 75

Height = 25

Caption = 'Button1'

TabOrder = 0

OnClick = Button1Click

OnMouseMove = Button1MouseMove

end

 

В оконных компонентах Delphi определены три события, связанные с клавиатурой. Это события:

 

 

Последовательность событий клавиатуры при нажатии клавиш Shift-н :

 

 

(327)

 

РАБОТА С ПРОЦЕССАМИ И ПОТОКАМИ(стр 445)

 

Процесс — это выполняющаяся программа. Простая самодостаточная программа, не вызывающая других программ, — это один процесс. Он характеризуется своим адресным пространством, виртуальной памятью, исполняемым кодом и данными.

Запуск из одной программы другой называется порождением дочернего процесса.

В общем случае процесс может включать в себя не один, а несколько потоков. Каждый поток — это некоторая последовательность команд, которой операционная система выделяет определенные кванты времени. Поэтому потоки выполняются как бы параллельно.

Если в вашем приложении имеются независимые друг от друга задачи (хотя бы частично независимые), выполнение которых требует достаточно длительного времени, целесообразно для каждой из этих задач выделить свой поток или нить. Необходимость в порождении дочернего процесса, т.е. в запуске из вашего приложения внешней программы, может возникать в ряде случаев. Например может потребоваться запуск из вашей программы другой программы, исходный текст которой неизвестен или написан не на Object Pascal.



<== предыдущая лекция | следующая лекция ==>
Управляющие кнопки Button и BitBtn | Порождение процесса функцией CreateProcess


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.