Point(Right, Bottom) , Point(Left, Bottom) , Point(Left, Top)]) ;
Right := X;
Bottom := Y;
Canvas.Pen.Color : = RectColor;
Canvas.Polyline([Point(Left, Top) , Point(Right, Top) , Point(Right, Bottom), Point(Left, Bottom), Point(Left, Top)]) ;
end;
with StatusBar do begin
Panels[4].Text := 'Ширина: ' + IntToStr(Abs(MouseRect.Right - MouseRect.Left));
Panels[5].Text := 'Высота: ' + IntToStr(Abs(MouseRect.Bottom - MouseRect.Top));
end;
end;

procedure TMainForm.TimerTimer(Sender: TObject) ; begin with StatusBar do

begin
Panels[0].Text := 'Дата: ' + DateToStr(Now);
Panels[1].Text := 'Время: ' + TimeToStr(Now);
end;
end;

end.

При нажатии левой кнопки мыши в методе-обработчике RrniMoussEtown включается режим рисования прямоугольника (isDown := True) и задаются его начальные координаты.

При перемещении мыши по форме проекта вызывается метод-обработчик FormMouseMove, в котором координаты курсора и размеры прямоугольника передаются на панель состояния. Если левая кнопка мыши нажата (isDown = True), то осуществляется перерисовка прямоугольника.

При отпускании кнопки мыши в методе FormMouseUp рисование прямоугольника прекращается (isDown := False).

Если была нажата правая кнопка мыши, то метод-обработчик FormMoussDown обеспечивает отображение диалога выбора цвета, который позволяет сменить цвет линий прямоугольника.

Метод-обработчик TimerTimer обеспечивает отображение на панели состояния текущей даты и времени.

( Примечание }

Для рисования прямоугольника использовался метод PolyLine, который работает при перемещении курсора влево и вверх относительно начальной точки. Для стирания старого прямоугольника желательно использовать режимы XOR и NOTXOR, которые обеспечивают восстановление рисунка под линией. Подробно об этом см. гл. 10.

Ярлыки

Пользовательский интерфейс трудно представить без ярлычков с оперативной подсказкой (Hints). Если задержать курсор, например, над кнопкой или компонентом палитры самой среды Delphi, появляется маленький прямоугольник яркого цвета (окно подсказки), в котором одной строкой сказано о названии этого элемента или связанном с ним действии. Delphi поддерживает механизмы создания и отображения таких ярлычков в создаваемых программах.

Свойство, определяющее активность системы подсказки у элемента управления:

property ShowHint: Boolean;

Если свойство ShowHint установлено в True, и во время выполнения курсор задержался над компонентом на некоторое время, в окне подсказки высвечивается текстовая строка с подсказкой, которая задана свойством:

property Hint: string;

Подсказка компонента может быть пустой строкой - в этом случае система ищет в цепочке первый родительский компонент с непустой подсказкой.

Если в строке Hint встречается специальный символ-разделитель "|", то часть строки до него ("короткая") передается в окно подсказки, а после ("длинная") - присваивается свойству Hint объекта Application. Ее можно использовать, например, в строке состояния внизу главной формы приложения (см. пример ниже).

Система оперативных подсказок имеет свойства и методы, общие для всех форм в приложении. Не удивительно, что они сосредоточены в Application - глобальном объекте, соответствующем работающему приложению. Все описанные ниже в этом разделе свойства относятся не к компоненту, показывающему подсказку, а именно к Application.


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в Delphi 7



Новости за месяц

  • Август
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс