Обратите внимание, что этот пример был отлажен в Delphi7.0
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////
(I) Создать проект
Новые элементы-> Проекты-> Приложение MDI
(2) Перепроектирует подраздел MDI - Childwin, чтобы реализовать захваченное изображение, отображаемое в Childwin.
Удалите исходное управление Memo1 в детской форме Childwin и добавьте управление изображением, image1.align = alclient.
Image1.AutoSize = ture означает, что отображается исходный размер, а Strech = false означает, что он не отображается в соответствии с ящиком объекта.
(Iii) Модификация основного интерфейса
1) Удалить элементы, связанные с вставкой и новой в меню, панели инструментов, список действий
2) Добавить Printersetupdialog1 и Savedialog Control в Mainform.
Добавить файл элемента меню/print, имя атрибута FilePrintitem;
Добавить файл элемента меню/настройки печати, свойство включено = false, имя FilePrintset;
Добавить пункт меню Редактировать/рисовать, его свойство включено = false;
Добавить элемент меню редактировать/настройки и установить его для создания подменю;
Добавить элементы меню Редактировать/предпочтения/конфигурация;
Добавить пункт меню Редактировать/предпочтения/панель инструментов, его проверка = true, name = toolbaritem;
Добавить изображение меню;
Добавить элемент меню изображение/захват рабочего стола;
Добавить элемент меню изображения/область захвата;
Добавить элементы меню изображение/захват окна или элементы управления;
Добавить элемент меню изображение/значок захвата
Добавьте четыре кнопки панели инструментов на панель инструментов, соответствующие четырем пунктам меню под меню изображения.
Добавить четыре действия в ActionList: CPTDestop, Cptarea, Cptwindows, Cpticon;
Атрибуты действия четырех элементов меню в меню изображения соответствуют четырем вышеупомянутым соответственно;
Атрибуты действия четырех вновь добавленных кнопок панели инструментов соответствуют четырем вышеупомянутым соответственно.
3) Перемещение реализации использует childwin в интерфейс использования в основном блоке.
Добавить SCRNCPT в использование интерфейса;
Добавьте определение в публике Tmainform:
Ребенок: Tmdichild;
Capturenum: целое число;
Имя файла: String;
DefaultDirectory: String;
4) Добавить частную функцию в Tmainform: задержка процедуры (MSECS: Integer)
Процедура tmainform.delay (msecs: integer);
var firsttickcount: longint;
Начинать
FirstTickCount: = GetTickCount;
повторить
Начинать
Application.ProcessMessage;
конец;
до (getTickCount-firsttickCount)> = longint (msecs));
конец;
5) Измените процесс [tmainform.createmdichild]:
Удалить переменную var child: tmdichild, добавить параметр newfile
Процедура tmainform.createmdichild (const name: string; newfile: boolean);
Начинать
Ребенок: = tmdichild.create (Application);
Child.caption: = имя;
if (не newfile) и (имя <> ''), затем начните
Child.image1.picture.bitmap.loadfromfile (имя);
Child.horzscrollbar.range: = child.image1.picture.width;
Child.vertscrollbar.range: = child.image1.picture.height;
конец;
конец;