Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 20.09.2015
Сообщений: 19
1

Одно из заданий в лабораторной работе

19.12.2016, 20:51. Показов 821. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание 8 (для самостоятельного выполнения; в новом проекте!). Модифицировать программу из задания 5 (включая 5.1) так, чтобы рисование происходило не на самой форме, а на компоненте TPaintBox (вкладка Additional палитры визуальных компонентов).

Для этого нужно:
1) добавить на форму компонент TPaintBox (по умолчанию он будет назван PaintBox1 – можно переименовать по своему усмотрению, но словосочетание PaintBox в имени компонента лучше сохранить, чтобы можно было его идентифицировать);
2) перенести команды рисования из обработчиков событий формы в обработчики событий компонента TPaintBox;
3) вместо области рисования формы (Canvas без пояснений) обращаться к области рисования, связанной именно с добавленным компонентом PaintBox1, то есть PaintBox1.Canvas.

Задание 8.1. Добавить на форму кнопку для очистки области рисования.
Решение.
Очистку области рисования можно выполнять следующими действиями:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
procedure TForm1.Button1Click(Sender: TObject);
var
  OldPenColor: TColor;
begin
  OldPenColor := PaintBox1.Canvas.Pen.Color;
//чтобы не потерять при очистке экрана предыдущий цвет отрисовки,
//сохраним его в отдельную переменную
  PaintBox1.Canvas.Pen.Color := clWhite;
//далее будет нарисован прямоугольник с белой границей
//(цвет пера – Pen.Color),
  PaintBox1.Canvas.Brush.Color := clWhite;
//закрашенный белым цветом (цвет кисти – Brush.Color)
  PaintBox1.Canvas.Rectangle(PaintBox1.Canvas.ClipRect);
//рисование белого прямоугольника;
//ClipRect – прямоугольник, заполняющий всю область рисования
  PaintBox1.Canvas.Pen.Color := OldPenColor;
//возвращаем старый цвет отрисовки
end;
Задание 8.2 (для самостоятельного выполнения).
Добавить на форму текстовое поле для задания толщины линии отрисовки и кнопку OK. После нажатия OK отрисовка линий должна выполняться с заданной толщиной (т.е. устанавливается заданное значение свойства Pen.Width). Если в текстовое поле введено некорректное значение, нужно выводить на экран сообщение об ошибке.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2016, 20:51
Ответы с готовыми решениями:

Примеры заданий к лабораторной работе
Здравствуйте. Получил задание от преподавателя разработать лабораторную работу по программированию...

Несколько заданий из лабораторной работы
это мою защитная работа где именно ошибки ЛАБОРАТОРНАЯ РАБОТА № 4. ОДНОМЕРНЫЕ МАССИВЫ...

Вопрос по лабораторной работе
program lab2; var x: array of real; k, n, i: integer; xx, eps, t: real; L: array of real;...

Тест по лабораторной работе
Балів: 1 Використовуючи масиви А і B визначте значення наступного виразу A(1,3)+B(2,2)*A(2,4). У...

1
0 / 0 / 0
Регистрация: 20.09.2015
Сообщений: 19
19.12.2016, 20:53  [ТС] 2
Вот добавляю данные, для решения!
Вложения
Тип файла: rar Ex5.rar (3.78 Мб, 5 просмотров)
0
19.12.2016, 20:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.12.2016, 20:53
Помогаю со студенческими работами здесь

Задание по лабораторной работе
Вот такое задание. Не могу понять, как именно все это организовать. В голове только вариант "если...

Исправьте ошибку в лабораторной работе
Var hx,x,x0,p,x1,F,i,n:real; k,n:integer; begin Write('Введите x0='); //1 Read(x0);...

Расчетная часть в лабораторной работе
Вольфрамовый катод облучается ультрафиолетовым светом с длиной волный лямбда. Задерживающий...

Дополнить приложение, разработанное в лабораторной работе
Здравствуйте! Прошу помочь с задачей: Дополнить приложение, разработанное в лабораторной работе N...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru