لاحظ أن هذا المثال قد تم تصحيحه في Delphi7.0
////////////////////////////////////////////////////////////// ////////////////////////////
(ط) إنشاء مشروع
عناصر جديدة-> مشاريع-> تطبيق MDI
(2) إعادة تصميم النموذج الفرعي MDI - تشايلدوين لإدراك الصورة التي تم التقاطها التي يتم عرضها في تشايلدوين.
قم بإزالة التحكم الأصلي MEMO1 في شكل الطفل الطفل وأضف التحكم في الصورة ، Image1.Align = alclient.
Image1.Autosize = ture يعني عرض الحجم الأصلي ، و strech = خطأ يعني أنه لا يتم عرضه وفقًا لمربع الكائن.
(3) تعديل الواجهة الرئيسية
1) قم بإزالة العناصر المتعلقة باللصق والجديد في القائمة وشريط الأدوات و ActionList
2) إضافة printersetupdialog1 والتحكم المحفوظ إلى mainform.
إضافة ملف/طباعة عنصر القائمة ، اسم السمة هو filePrintItem ؛
إضافة ملفات عنصر القائمة/إعدادات الطباعة ، تمكين الخاصية = false ، الاسم هو filePrintset ؛
إضافة عنصر القائمة تحرير/رسم ، خاصية تمكين = false ؛
إضافة عنصر القائمة تحرير/تفضيلات وقم بتعيينه على إنشاء قوائم فرعية ؛
إضافة عناصر القائمة تحرير/التفضيلات/التكوين ؛
إضافة عنصر القائمة تحرير/تفضيلات/شريط أدوات ، محدد = true ، name = toolbaritem ؛
أضف صورة القائمة ؛
إضافة صورة عنصر القائمة/التقاط سطح المكتب ؛
إضافة عنصر عنصر القائمة/منطقة الالتقاط ؛
إضافة عناصر القائمة صورة/التقاط النوافذ أو عناصر التحكم ؛
أضف أيقونة صورة عنصر القائمة
أضف أربعة أزرار شريط أدوات إلى شريط الأدوات ، المقابلة لعناصر القائمة الأربعة أسفل قائمة الصور.
إضافة أربعة إجراءات إلى قائمة العمل: CPTDESTOP ، CPTAREA ، CPTWINDOWS ، CPTICON ؛
تتوافق سمات الإجراء لعناصر القائمة الأربعة تحت قائمة الصور مع الإجراءات الأربعة أعلاه على التوالي ؛
تتوافق سمات الإجراء لأزرار شريط الأدوات الأربعة المضافة حديثًا مع الإجراءات الأربعة المذكورة أعلاه على التوالي.
3) نقل التنفيذ يستخدم Childwin في واجهة استخدامات في الوحدة الرئيسية.
أضف scrncpt إلى استخدامات الواجهة ؛
أضف تعريفًا في جمهور Tmainform:
الطفل: tmdichild ؛
Capturenum: عدد صحيح.
اسم الملف: سلسلة ؛
DefaultDirectory: سلسلة ؛
4) إضافة وظيفة خاصة في Tmainform: تأخير الإجراء (MSECs: عدد صحيح)
الإجراء tmainform.delay (MSECs: integer) ؛
var firsttickcount: longint ؛
يبدأ
FirstTickCount: = getTickCount ؛
يكرر
يبدأ
Application.ProcessMessages ؛
نهاية؛
حتى ((getTickCount-FirsttickCount)> = longint (msecs)) ؛
نهاية؛
5) تعديل العملية [tmainform.createmdichild]:
إزالة متغير var child: tmdichild ، أضف المعلمة جديدة
الإجراء tmainform.createmdichild (اسم const: سلسلة ؛ newFile: Boolean) ؛
يبدأ
الطفل: = tmdichild.create (التطبيق) ؛
child.caption: = name ؛
إذا (ليس حديثًا) و (الاسم <> '') ثم ابدأ
child.image1.picture.bitmap.loadfromfile (name) ؛
child.horzscrollbar.range: = child.image1.picture.width ؛
child.vertscrollbar.range: = child.image1.picture.height ؛
نهاية؛
نهاية؛