Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС / Лаб_11.doc
Скачиваний:
125
Добавлен:
11.04.2015
Размер:
114 Кб
Скачать
☆

Задания для самостоятельного выполнения

Задание 1.

В среде Visual C++6.0 создайте проект ClpBdTxt – приложение, позволяющее помещать в буфер обмена текст, введенный в многострочное поле ввода, и считывать текст из буфера обмена в многострочное поле ввода своего диалогового окна. Для помещения текста в буфер обмена и считывания текста из буфера обмена создайте необходимые кнопки. Запустите два экземпляра приложения. В многострочное поле ввода первого приложения введите текст и поместите его в буфер обмена. Считайте из буфера обмена введенный текст в многострочное поле ввода второго приложения. Обменяйтесь текстом с приложением Блокнот.

Сравните Ваше решение с имеющимся вариантом выполнения. Видоизмените приложение следующим образом.

Уберите многострочное поле ввода и добавьте два однострочных поля ввода. Разработайте необходимый код для обмена содержимым полей ввода между экземплярами этого приложения. Добейтесь, чтобы приложение игнорировало текст, помещенный в буфер обмена другими приложениями (зарегистрируйте собственный формат данных, используя в качестве имени имя приложения, см. функцию RegisterClipboardFormat).

Задание 2.

В среде Visual C++6.0 создайте проект ClpBdBtm – приложение, позволяющее рисовать закрашенный прямоугольник в области вывода рисунка диалогового окна приложения по координатам его левого верхнего угла, ширине и высоте, и значениям интенсивностей RGB цвета, вводимым в соответствующие поля ввода. Приложение должно копировать и вырезать в буфер обмена битовый образ своего рисунка, а также копировать из буфера обмена битовый образ рисунка в область вывода рисунка своего диалогового окна при нажатии на соответствующие кнопки. Запустите два экземпляра приложения. В первом экземпляре приложения нарисуйте прямоугольник и скопируйте (или вырежьте) его в буфер обмена. Во втором экземпляре приложении скопируйте битовый образ рисунка из буфера обмена в область вывода рисунка его диалогового окна. Осуществите обмен рисунками с приложением MS Paint.

Сравните Ваше решение с имеющимся вариантом выполнения. Видоизмените приложение следующим образом.

Добавьте линейки прокрутки для области вывода рисунка и обеспечьте необходимую функциональность.

Задание 3.

В среде Visual C++6.0 создайте проект ClipViewer – приложение – простейший просмотрщик буфера обмена. Ограничьтесь только текстовым типом просматриваемых данных. Приложение должно автоматически отображать в своем окне помещенный в буфер обмена в текущий момент времени текст.

Сравните Ваше решение с имеющимся вариантом выполнения. Видоизмените приложение следующим образом.

Добавьте просмотр графики.

Задание 4.

Используя результаты выполнения предыдущих заданий, в среде Visual C++6.0 создайте 2 проекта SndToClp и RcvFromClp. Приложение отправляет в буфер обмена два операнда и код операции над ними: сложить, вычесть, разделить. Приложение RcvFromClp работает как просмотрщик буфера обмена, выполняет операцию над операндами и отображает результат.

Контрольные вопросы

  1. Какие механизмы обмена данными между приложениями используются в Windows?

  2. Какие стандартные форматы буфера обмена поддерживает Windows?

  3. Какие основные функции по управлению буфером обмена поддерживает Win32 API?

  4. Какой последовательностью вызовов функций Win32 API реализуется помещение данных в буфер обмена?

  5. Какой последовательностью вызовов функций Win32 API реализуется доступ к данным буфера обмена?

Соседние файлы в папке ОС