Стандартные элементы управления Windows (панель Standard)
⇐ ПредыдущаяСтр 2 из 2 1. Метка TLabel. Метки предназначены для размещения текстовой информации – различных пояснений, заголовков и т.д. Основное свойство, содержащее текст метки – Caption. Его можно менять в ходе выполнения программы. Метка обрабатывает события от мыши. Свойства Alignment и Layout определяют выравнивание метки по горизонтали и вертикали. Логическое свойство WordWrap позволяет разрешать или запрещать перенос текста на новую строку. 2. Компоненты для редактирования строк. Одна строка ввода – TEdit Многострочный редактор – TMemo. Общие свойства – AutoSelect:boolean – если свойство имеет значение True, то текст выделяется при активизации редактора. CharCase – определяет вид букв текста ecUpperCase, ecLowerCase, ecNormal. MaxLength:integer — максимальное число символов для редактирования. PasswordChar:Char – символ, который будет оторажаться вместо букв (по умолч. #0) ReadOnly:boolean —можно ли изменять текст.
Строка ввода TEdit для установки и чтения строки ввода использует свойство Text. Если нужно вводить числа, то надо использовать функции преобразования. Редактор TMemo содержит список строк Lines:TString; В свойстве ScrollBalls можно задать наличие полосок прокрутки.
Оба редактора обрабатывают свойство OnChange при изменении введенного текста.
3. Кнопка TButton. При нажатии вызывает обработчик события OnClick. Текст кнопки задается свойством Caption. Логические свойства Cancel и Default устанавливаются в true, если хотите, чтобы нажатие Esc или Enter было эквивалентно нажатию на кнопку. Вызов метода Click эквивалентен щелчку по кнопке. В Delphi есть кнопки с картинкаии – компонент TBitBtn. Он имеет дополнительные свойства и находится во вкладке Additional. Glyph – определяет имя BMP-файла, отображаемого на кнопке. Kind – указывает один из стандартных типов кнопок — bkOk, bkCancel, bkHelp, bkYes, bkNo и т.д.
4. Флажки TCheckBox и переключатели RadioButton.
Форма. Ее свойства и методы. Виды форм. Отображение форм на экране. Дарахвелидзе. Графика в Delphi. Холст, перо, кисть. Свойства и методы холста. Кандзюба.
Обработка исключительных ситуаций.
ИС происходит при ошибке во время выполнения программы, либо специально возбуждается программистом. ИС контролируются специальным обработчиком ИС. Он перехватывает все ошибки, приостанавливает программу и сообщает пользователю о возникновении ИС. Программист может контролировать возникновение ИС с помощью конструкции Try. Try оператор 1; оператор 2; … Except on имя:класс_ошибки do оператор; on имя:класс_ошибки do оператор; …. else оператор; end; Ключевое слово try начинает блок контроля операторов, следующих до слова except. В случае возникновения ИС в списке классов, перечисленном после except ищется соответствующий класс и выполняется оператор после do. Затем управление передается на 1-й оператор после end. Если ИС не относится ни к одному из классов, то выполняется оператор после необязательного Else. Пример. try x:=StrToFloat(Edit1.Text); y:=1/x; except on E:EConvertError do ShowMessage(‘Ошибка ввода’); on E: EMathError do ShowMessage(‘Деление на ноль’); else ShowMessage(‘Неизвестная ошибка’); end;
Классы ИС начинаются с буквы E и имеют общим предком класс Exception. Это класс имеет свойство Message:string (сообщение о ИС) и несколькометодов для создания объектов например Create(Msg:String).. Основные классы ошибок EAbstractError – вызов абстрактного метода EAxxessViolation – выход за пределы массива EConvertError – ошибка преобразования типов EInOutError — ошибка ввода вывода. EInOutError is raised when an operating-system file input/output error occurs, provided the $I+ directive is in effect. The resulting error code is returned in the local ErrorCode variable, which can take the following values.
Error code Meaning
2 File not found. 3 Invalid file name. 4 Too many open files. 5 Access denied. 100 EOF. 101 Disk full.
106 Invalid input.
EMathError – Математическая ошибка. EOutofMemory – не хватает памяти. EOverflow – переполнение. EZeroDivide – деление на ноль.
Если для всех ошибок один обработчки, то в блоке Except строки on не пишутся. Программист может сгенерировать исключительную ситуацию с помощью оператора raise
Raise <объект>
Raise EintOverFlow.Create(‘Возможно переполнение’);
Если программисту не нужна обработка ошибок, а нужно чтобы программа гарантированно выполнила определенные дейтсвия, независимо от того, была ли ошибка, то можно использовать конструкцию try операторы finally закл.действия end;
Try SetLength(DynArray,100000);
finally DynArray:=nil end;
Элементы пользовательского интерфейса.
Буфер обмена. Для работы с буфером обмена используется готовый объект ClipBoard:TClipBoard. Он описан в модуле Clipbrd Класс имеет свойства AsText: String —содержимое буфера обмена в виде строки FormatCount – кол-во форматов данных буфера обмена Formats – массив форматов для буфера обмена Методы Assign – позволяет копировать объект в буфер обмена и обратно. Например ClipBoard.Assign(Bitmap1) Clear – очистка буфера обмена и другие 2. Ярлычки (Hints). Задаются в свойстве Hint элемента управления. Для их показа необходимо включить свойство ShowHint:boolean. 3. Перетаскивание (Drag & Drop) С помощью обработки событий. Для автоматического включения возможно d&d у элемента управления свойство dragMode устанавливается в dmAutomatic (вместо dmManual). При ручном режиме перетаскивание начинается вызоаом метода BeginDrag(immediate:boolean). (параметр определяет начнется ли перетаскивание немедленно или полсе смещения с нажатой кнопкой мыши на 5 точек). при перемещении компонента над другим элементом управления для последнего возникает событие DragOver. Его обработчик имеет параметры procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin Accept:= Source=Button1; end; Sender – элемент над которым находится курсор Source – перетаскиваемый элемент x,y: коорднаты курсора state – состояние (курсор появился над объектом dsDragEnter, двигается – dsDragMove или ушел dsDragLeave. Обработчки должен возвратить в переменную Accept примет ли элемент управления перетаскиваемый объект или нет. Если обработчик этого события отсутствует, то элемент ничего не может принять.
Событие DragDrop возникает при отпускании кнопки мыши надо элементом,готовым к приему. procedure TForm1.FormDragDrop(Sender, Source: TObject; X, Y: Integer); begin (Source as TButton).Left:=X; (Source as TButton).Top:=Y; end;
Пример – перетаскивание строк из одного списка в другой.
procedure TForm1.ListBox2DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin Accept:= Source = ListBox1; end;
procedure TForm1.ListBox2DragDrop(Sender, Source: TObject; X, Y: Integer); begin ListBox2.Items.Add(ListBox1.Items[ListBox1.ItemIndex]); ListBox1.Items.Delete(ListBox1.ItemIndex); end;
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|