Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Топ:
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного...
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Интересное:
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Дисциплины:
2018-01-04 | 307 |
5.00
из
|
Заказать работу |
|
|
write FOnDblClick;
TMousefiheelEvent «■ procedure (Sender: TObject; Shift: TShiftState;
WhealDelta: Integer; MousePos: TPoint; var Handled: Boolean) of object; TMouseWheelUpDownEvent = procedure (Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean) of object; property OnMouseWheel: TMouseWheelEvent read FOnMouseWheel
write FOnMouseWheel; property QnMouseWheolDown: TMouseWheelUpDownEvent
read FOnMouseWheelDown write FOnMouseWheelDown; property OnMouseWheelUp: TMouseWheelUpDownEvent
read FOnMouseWheelUp write FOnMouseWheelUp;
Тип TMouseButton определяет одну из трех кнопок мыши: левую (mbLef t),
правую (mbRxght) и среднюю (mbMiddle).
Тип TShiftState содержит признаки, уточняющие обстоятельства возникновения события: ssShift - нажата клавиша Shift, asAlfc - нажата клавиша Alt, ssCtrl - нажата клавиша Ctrl, ssLef t - нажата левая клавиша мыши, ssRight - нажата правая клавиша мыши, ssMiddle - нажата средняя клавиша мыши, ssDoubl® - нажаты одновременно левая и правая клавиши мыши.
Указатели мыши
При перемещении указателя мыши по экрану он может менять свою форму в зависимости от значения свойства Cursor компонента, над которым он расположен в данный момент: TCursor = -32768..+32767; property Cursor: TCursor;
Индекс курсора может быть любым числом от -32768 до 32767. Индексы в диапазоне от -22 до -1 включительно заняты стандартными указателями, причем индексы -5 и -1 соответствуют указателю erNone, а индекс 0 всегда связан со стандартным указателем Windows и не может переопределяться.
Чтобы изменить форму курсора для всех окон программы одновременно, используется свойство Cursor глобального объекта Screen, который автоматически создается для каждой программы:
Screen.Cursor:= crHourGlass; // Курсор - песочные часы Screen.Cursor:= crDefault; // Курсор - обычный
В Delphi предопределен ряд указателей мыши, но программист может создавать и собственные указатели, выполнив следующие действия.
· С помощью редактора изображений Delphi необходимо создать изображение указателя и сохранить это изображение в ресурсном файле. Имя указателя должно быть обязательно из латинских прописных символов.
|
· Необходимо директивой подключить полученный ресурсный файл к программе
и загрузить указатель из ресурсного файла с помощью функции LoadCursor. {$К Cursor.res)
Screen.Cursors£1) LoadCursor (Hlnstsnce, 4JEWCURSOR');
3. После выполнения предыдущих операций можно назначать нестандартный указатель свойствам Cursor компонентов или экрана: Screen. Cursor:«1.
События клавиатуры События мыши возникают в любом потомке класса TControl. В отличие от этого события клавиатуры возникают только в некоторых оконных компонентах (в потомках класса TWinControl). Обработка событий связана со следующими
свойствами этих компонентов:
TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble);
TKeyEvent = procedure (Sender: TObject; var Key: Word; Shift: TShiftState) of object;
property OnKeyDown: TKeyEvent read FOnKeyDown write FOnKeyDown; property OaKeyPress: TKeyPressEvent read FOnKeyPress
write FOnKeyPress;
property OnKeyUp: TKeyEvent read FOnKeyUp write FOnKeyUp;
Параметр Shift, как и в обработчиках событий от мыши, содержит уточняющие признаки. Параметр Key в обработчиках TKeyEvent содержит виртуальный код клавиши, а в обработчике TKeyPressEvent - ASCII-символ. Обработчики OnKeyDown и OnKeyUp перехватывают нажатие большинства клавиш клавиатуры, в то время как OnKeyPress - только нажатие алфавитно- цифровых клавиш. Получаемый ими символ Key учитывает выбранный язык и
нажатую клавишу Shift.
Виртуальные коды клавиш определены константами vk_XXX в файле
Source\Rtl\Win\Windows.pas, которые представляют уникальные числовые
идентификаторы клавиш. Для буквенно-цифровых символов, с некоторыми
исключениями, этот код совпадает со значением, возвращаемым функцией
©rd(ух':.
Поскольку параметр Key в каждом обработчике определен как параметр-
переменная, программист может изменить фактический ввод клавиши, например
для фильтрации каких-либо клавиш. При этом подмена должна осуществляться в
обработчике формы, чтобы в оконный элемент поступал уже измененный код.
Чтобы форма получила сообщение от клавиатуры до передачи его в элемент с
|
фокусом ввода, следует установить свойство формы KeyPreview в true.
Например, закрытие формы по нажатию клавиш Alt+X:
procedure TForml.FormKeyDown (Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key = ord ('X')) and (ssAlt in Shift) then Close end;
Фокус ввода
Поскольку клавиатура одна, а элементов, используюших ее - много, необходимо выделять элемент, которому передается клавиатурный ввод. Это достигается передачей элементу фокуса ввода через его метод: procedure SetFocus;
Компонент с фокусом ввода имеет значение true в своем свойстве:
property Focused: Boolean;
Если элемент недоступен или невидим, его свойство CanFocue имеет значение false: procedure CanFocus: Boolean;
Фокус ввода передается элементу после щелчка на нем мышью или в порядке выбора его клавишей Tab. Чтобы элемент можно было выбирать с помощью этой клавиши, следует установить следующее его свойство в True: property TabStop: Boolean;
Порядок выбора элемента определяется свойством: property TabOrder: Integer;
Delphi следит за уникальностью и непрерывностью всех помещенных на форму доступных и видимых компонентов. С помощью следующего метода можно получить список всех дочерних компонентов, выбираемых клавишей Tab. procedure GetTabOrderList (List: TList);
Я
Механизм действий
В Delphi определен специальный механизм действий, дающий удобное средство централизованной реакции программы на те или иные действия пользователя. Для реализации действий на вкладке Standard палитры компонентов помещен специальный компонент TActionList, а в класс TComponent введено свойство Action: property Action: TBasicAation;
Централизация необходима потому, что подавляющее большинство промышленных программ для Windows содержат два и более интерфейсных элемента, реализующих одно и то же действие (например, пункт меню и кнопка на панели инструментов). Компонент TActionList содержит список имен действий и список подпрограмм, которые эти действия реализуют и позволяет осуществлять связь между этими списками. При установлении связи между именем действия и подпрограммой автоматически меняется графическое изображение и/или надпись на компоненте, а также связанная с ним подсказка Hint. Если для действия не определен обработчик OnExecute, все связанные с этим действие элементы на этапе выполнения программы будут недоступны.
Механизм перетаскивания
Операционная система Windows широко использует прием Drag&Drop - перетащи и отпусти. Этот механизм позволяет, нажав и удерживая левую клавишу мыши на определенном месте экрана «зафиксировать» некоторую информацию («груз»), и потом, не отпуская клавишу мыши перетащить этот «груз» в другое место экрана. Отпускание клавиши мыши обозначает место- приемник «груза».
|
В Delphi реализован свой механизм Drag&Drop, позволяющий компонентам обмениваться информацией при помощи мыши. Этот механизм определяется двумя свойствами и тремя событиями, определенными для каждого видимого компонента.
|
|
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!