Главная страница
Навигация по странице:

  • TStatusBar

  • 7. События, связанные с мышью. Для формы создадим обработчики событий, которые будут фиксировать нажатие клавиши мыши в первой секции компонента StatusBar 1

  • 8. Общие свойства компонентов Hint. Все видимые элементы имеют свойства Hint : String , ShowHint : Boolean

  • Теоретические сведения

  • TTrackBar

  • Методичка по лабораторным Delphi. Протокол 11 Зав кафедрой А. А. Прихожий содержание лабораторная работа 1


    Скачать 0.58 Mb.
    НазваниеПротокол 11 Зав кафедрой А. А. Прихожий содержание лабораторная работа 1
    АнкорМетодичка по лабораторным Delphi.doc
    Дата04.09.2018
    Размер0.58 Mb.
    Формат файлаdoc
    Имя файлаМетодичка по лабораторным Delphi.doc
    ТипПротокол
    #24057
    страница7 из 10
    1   2   3   4   5   6   7   8   9   10

    Ход работы


    1. Загрузите систему визуального программирования Delphi.

    2. Создайте подкаталог Lab6 в своем каталоге.

    3. На форме расположите: две панели Panel1, Рanel2; на них соответственно две метки Label1, Label2; два однострочных редактора Edit1, Edit2; один компонент TStatusBar с именем StatusBar1(который расположен на панели Win32).

    4. Компонент TStatusBar.


    Компонент TStatusBar предназначен для создания панелей состояния, которые обычно располагаются в нижней части основной формы. Компонент может иметь несколько секций. Количество секций, а также стиль каждой панели задаются с помощью специального редактора, который вызывается свойством Panels. Это свойство содержит объекты-панели. Свойство TStatusPanels.Items[Index: integer] открывает доступ к панели по ее индексу. С помощью редактора Editing St… определите три секции панели. Измените ширину каждой секции.

    5. Интерфейс Drag&Drop.


    В приложении осуществим возможность переноса содержимого редактора Edit1 в редактор Edit2. Сделаем так, чтобы панель Panel1 можно было перемещать по форме.

    1. Источниками в механизме Drag&Drop будут компоненты Panel1, Edit1. Установите для компонентов Panel1, Edit1 свойство DragMode равнымdmAutomatic. ЗначениеdmAutomaticобеспечивает автоматическую реакцию компонента на нажатие левой клавиши мыши и начало перетаскивания. О включении механизма сигнализирует указатель мыши, - он изменяет курсор, определенный в свойстве DragCursor.

    2. Приемником может стать любой компонент, в котором создан метод-обработчик DragOver. Создайте обработчики событий:

      1. Для Edit2:

    Procedure TForm1.Edit2DragOver (Sender, Source: TObject; X,Y: integer; State: TDragState; var Accept: boolean);

    Begin

    // Если источник переноса односторонний редактор, то Edit2

    // становится приемником.

    If Source.ClassName = ' TEdit' then Accept := True

    Else Accept := False;

    End;

      1. Для формы:

    Procedure TForm1.FormDragOver (Sender, Source: TObject; X,Y: integer; State: TDragState; var Accept: boolean);

    Begin

    // Если источник переноса панель, то форма становится приемником.

    If Source.ClassName = ' TPanel' then Accept := True

    Else Accept := False;

    End;

    1. Приемник должен предусматривать выполнение некоторых действий в случае, если источник завершает перетаскивание именно на нем. Для этого используется метод-обработчик OnDragDrop, который вызывается при отпускании левой кнопки мыши на компоненте приемнике.

      1. Для компонента Edit2:

    Procedure TForm1.Edit2DragDrop (Sender, Source: TObject; X,Y: integer);

    Begin

    // Передаем содержимое источника в приемник.

    Edit2.Text := (Source As TEdit).Text;

    End;

      1. Для формы:

    Procedure TForm1.FormDragDrop (Sender, Source: TObject; X,Y: integer);

    Begin

    // Устанавливаем источнику координаты мыши,

    // которые он имеет в момент отпускания кнопки.

    (Source As TPanel).Left := x;

    (Source As TPanel).Top := y;

    End;

    Проверьте правильность Ваших действий, осуществив прогон программы.

    6. События, связанные с клавиатурой.

    В ряде случаев бывает удобно задать тип символов, которые могут быть введены в строке редактирования. Проще всего этого достичь в обработчике события OnKeyPress, которое происходит при каждом нажатии клавиши.

    1. Для компонента Edit1 реализуем преобразование вводимой информации в символы верхнего регистра (для латинских символов). Создадим следующий обработчик:

    Procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: char);

    Begin

    If Key in ['a'.. 'z'] then begin

    Key := Chr(Ord(Key)-32); //Формула преобразования в верхний регистр

    End;

    End;

    1. Проверьте правильность Ваших действий, осуществив прогон программы.

    7. События, связанные с мышью.

    Для формы создадим обработчики событий, которые будут фиксировать нажатие клавиши мыши в первой секции компонента StatusBar1, отпускание кнопки мыши во второй секции и текущее положение курсора мыши в третьей секции.

    1. Создайте обработчики для формы:

      1. Нажатие на кнопку мыши:

    Procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: integer);

    Begin

    // В первую секцию панели статуса записываем координаты мыши.

    StatusBar1.Panels[0].Text := 'Начало: '+ 'X: ' + IntToStr(x) + ';Y: ' +IntToStr(y);

    End;

      1. Отпускание кнопки мыши:

    Procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: integer);

    Begin

    // Во вторую секцию панели статуса записываем координаты мыши.

    StatusBar1.Panels[1].Text := 'Конец: '+ 'X: ' + IntToStr(x) + ';Y: ' +IntToStr(y);

    End;

      1. Перемещение мыши:

    Procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,Y: integer);

    Begin

    // В третью секцию панели статуса записываем координаты мыши.

    StatusBar1.Panels[2].Text := 'X: ' + IntToStr(x) + ';Y: ' +IntToStr(y);

    End;

    1. Проверьте правильность Ваших действий, осуществив прогон программы.

    8. Общие свойства компонентов Hint.

    Все видимые элементы имеют свойства Hint: String, ShowHint: Boolean, регулирующие появление и содержание ярлычка – небольшого справочного окна возле элемента, на котором остановился курсор.

    1. В свойство Hintдля панели Panel1 введите текст: «Эту панель можно перемещать».

    2. Свойству ShowHint задайте значение True.

    3. Осуществите прогон программы и убедитесь в том, что при остановке курсора над компонентом Panel1 «всплывает» Hint.


    Задания:

    1. Снабдите справочной информацией компоненты вашего приложения, используя свойства HintиShowHint.

    2. На главной форме приложения установите компонент TStatusBar, в котором отразите текущую дату (Date - возвращает текущую дату в формате TDateTime; DateToStr - преобразовывает значение даты формата TDateTime в ее строковое представление) и текущие координаты мыши.

    3. В лабораторной работе №2 организуйте интерфейс Drag&Drop для переноса единиц измерения в метку. Для этой цели дополните приложение еще одним компонентом TLabel.

    4. Организуйте интерфейс Drag&Drop для перемещения кнопки по форме в лабораторной работе №2.

    5. Установите защиту информации для ввода в лабораторной работе №2.

    6. В лабораторной работе №3 организуйте интерфейс Drag&Drop для переноса значения среднего балла из редактора в метку. Для этой цели дополните приложение еще одним компонентом TLabel.

    7. Установите защиту информации для ввода в лабораторной работе №3.

    Программу запишите в Ваш каталог Lab6.

    ЛАБОРАТОРНАЯ РАБОТА № 7

    СТАНДАРТНЫЕ ВИЗУАЛЬНЫЕ КОМПОНЕНТЫ. ДОПОЛНИТЕЛЬНЫЕ ВИЗУАЛЬНЫЕ КОМПОНЕНТЫ. ВИЗУАЛЬНЫЕ КОМПОНЕНТЫ ИНТЕРФЕЙСА WIN32. КОМПОНЕНТЫ СИСТЕМНЫХ ИНТЕРФЕЙСОВ WINDOWS.
    Теоретические сведения

    Новые элементы управления Windows 95/98 расположены на странице Win32. Это многостраничные блокноты, контейнеры для панелей инструментов с возможностью переноса элементов управления (Docking), древовидные списки, календари, компоненты для изменения значений (плавного – TTrackBar и скачкообразного TUpDown), компонент для отображения процесса выполнения операции и другие.
    1   2   3   4   5   6   7   8   9   10


    написать администратору сайта