Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Буфер обміну

Реферат Буфер обміну


















БУФЕР ОБМІНУ


Введення


Одне із завдань програміста Windows-додатків полягає в створенні продуктів, які настільки подібні іншим програмам Windows, що користувач зможе легко перемикатися між ними, що не відчуваючи відмінностей в їх поведінці і зовнішньому вигляді. В ідеалі користувач повинен сприймати однорідне середовище і не помічати розмежувань між програмами. У такому середовищі сама собою напрошується можливість перенесення даних між додатками. p> Буфер обміну (clipboard) Windows забезпечує простий обмін даними між додатками.

Вміст буфера обміну в будь-який момент часу представляє собою набір об'єктів в пам'яті, створених програмою, яка помістила дані в буфер обміну. Функції API і повідомлення, що реалізують буфер обміну, управляють його вмістом. Буфер обміну служить єдиним протоколом доступу до збережених даними.

В  1. Формати буфера обміну

Додатки можуть обробляти одні й ті ж дані по-різному. Наприклад, текст то являти собою прості символи, згенеровані емулятором терміналу, або результат застосування сучасного повнофункціонального текстового процесора. Дані, імпортовані будь-якою програмою з буфера обміну, необхідно представляти в найкращому з можливих форматів. З цією метою програми, що потрапляють дані в буфер обміну, експортують їх якомога більшою кількістю способів. p> В результаті при зчитуванні з буфера обміну клієнту надається набір опцій. Різні способи представлення даних в буфері обміну називаються форматами буфера обміну. ​​

Коли додаток використовує функцію SetClipboardData () для приміщення даних у буфер обміну в певному форматі, прийнято говорити, що додаток відтворює цей формат. Взагалі кажучи, чим більше форматів буфера обміну підтримується додатком, тим точніше воно здійснюється обмін даними з іншими Windows-додатками. Тому має сенс відтворювати як можна більше число форматів буфера обміну. ​​

Додаток, який очищає буфер обміну через функцію EmptyClipboard (), а потім поміщає в нього дані будь-якого формату з використанням функції SetClipboardData (), називається власником буфера обміну (clipboard owner). (Термін не зовсім точний, оскільки після переміщення даних в буфер обміну вони паче не належать власнику. Ці дані належать середовищі Windows.) p> Інші програми, извлекающие дані, називаються клієнтами буфера обміну (clipboard readers). Витяг даних з буфера обміну не чинить клієнта його власником. p> Програма Windows, єдиною метою якої є перегляд вмісту буфера обміну, називається вікном перегляду буфера обміну (clipboard viewer). p> Для кожного формату буфера обміну, підтримуваного додатком, повинен виконуватися окремий виклик функції SetClipboardData (). Дані, записувані в буфер обміну в результаті кожного виклику, тільки заміщають дані, збережені в буфері обміну для даного формату. З цієї причини перед приміщенням нових даних в буфер обміну, програма повинна викликати функцію EmptyClipboard (), щоб очистити всі збережені формати від невідповідних даних. В іншому випадку ці дані можу бути помилково збережені. Виклик функції EmptyClipboard () також дозволяє старим власнику буфера обміну очистити всі області пам'яті, виділені певним форматам, шляхом обробки повідомлення WM_DESTROYCLIPBOARD.

В 
На рис.1 показано взаємодія між власником і клієнтом буфера обміну. Зверніть увагу, що клієнт вибрав перегляд даних у форматі CF_TEXT, хоча власник відтворює не менше трьох текстових форматів, включаючи GF_TEXT, CF_OEMTEXT і CF_UNICODETEXT. br/>

Клієнт буфера обміну може підтримуватиме й інші формати, але для вставки даних йому найбільше підходить формат CF_TEXT.

У табл.1 перераховані деякі зумовлені формати і описані дані, а також тип дескриптора, переданого функції SetClipBoardData () для кожного типу. Найбільш поширеним типом записів буфера обміну є глобальний блок пам'яті, виділений з опцією GMEM_DDESHARE. Для нього в таблиці застосовується просте позначення HANDLE. Постійні значення форматів буфера обміну описані у файлі заголовків winuser.h разом з прототипами функцій API, які визначають інтерфейс буфера обміну. ​​

В  Таблиця 1

Попереднє визначення формати буфера обміну

Формат буфера обміну

Тип дескриптора

Опис даних

CF_BITMAP

HBITMAP

Дані являють собою набір бітів.

CF_DSPENHMETAFILE

HENHMETAFILE

Розширений метафайл, приватний для програми.

CF_DSPMETAFILEPICT

HANDLE

Об'єкт пам&...


сторінка 1 з 4 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Використання буфера обміну. Адресація комірок MS Excel
  • Реферат на тему: Інтернет-додаток файлового обміну з розмежуванням прав доступу
  • Реферат на тему: Структура і функції економічної поведінки в системі ринкового обміну
  • Реферат на тему: Розробка бортового модему для обміну даними FANS У літаків В-757/767
  • Реферат на тему: Розвиток обміну