1. مقدمة لتقنية OLE
OLE وDDE عبارة عن آليات تدعم الاتصال المتبادل بين تطبيقات Windows. تعمل تقنية OLE على دمج تطبيقات Windows من خلال "الكائنات"، التي تستخدم الصور والمخططات وقواعد البيانات والأصوات والنصوص وما إلى ذلك لتكوين كائنات مركبة (وتسمى أيضًا المستندات المركبة). تقنية OLE عبارة عن مجموعة من البروتوكولات لتنفيذ الكائنات المرتبطة أو الكائنات المضمنة في المستندات المركبة. تم اقتراح هذه التقنية لأول مرة بواسطة Aldus في عام 1988 وتم تقديمها لاحقًا إلى Windows بواسطة Microsoft. باستخدام OLE، يمكن للتطبيق أن يتعاون مع التطبيقات الأخرى لإنتاج مستندات مركبة تحتوي على أنواع مختلفة من الكائنات، ويمكن للمستخدمين التعامل مع الكائنات الموجودة في المستند بسهولة.
سيكون لبرنامج Windows الذي يدعم مكالمات OLE معلومات تسجيل في Windows. تحقق من محتوى قسم [التضمين] في WIN.INI لمعرفة كائنات OLE المضمنة في Windows والتي يمكن استدعاؤها. فرشاة الرسم (PBRUSH.EXE)، الرسم البياني الإحصائي (MicrosoftGraph)، أداة حزم الكائنات (PACKGER.EXE) والمسجل (SOUNDREC.EXE) هي برامج OLE المضمنة شائعة الاستخدام في بيئة Windows.
أدخل الكائن.
معظم أدوات التطوير في بيئة Windows (مثل C وC++ وPASCAL وVisualBasic3.0 وCA-Realizer وFoxPRoforWindows وVisualFoxProforWindows وما إلى ذلك) تدعم في الغالب تطوير التطبيقات مع القدرة على استدعاء كائنات OLE. 0 تطوير برامج استدعاء OLE أسهل.
هناك العديد من المزايا لتطوير التطبيقات باستخدام تقنية OLE في بيئة Windows:
(1) تحسين كفاءة تطوير البرامج: من خلال دمج OLE في تطبيقات WINDOWS الأخرى، يصبح عمل تطوير البرامج الذي يقوم به مبرمجو التطبيقات في الواقع تكاملًا برمجيًا (أو "مجموعة برامج")، وهو أسهل من تطوير وظائف البرنامج واحدة تلو الأخرى أسرع بكثير ويتم تقصير دورة تطوير البرمجيات التطبيقية إلى حد كبير؛
(2) أداء مستقر وموثوق: نظرًا لأن برامج الكائنات المضمنة OLE هي برامج تجارية تم اختبارها بدقة، فإن البرنامج "المدمج" يحتاج فقط إلى اختبار صارم لجزء "العملية المدمجة" (عبء عمل الاختبار كبير نسبيًا). صغير نسبيًا)، يمكن أن يصبح برنامجًا عالي الجودة مع أداء مستقر وموثوق؛
(3) وظائف كاملة: يتم تضمين OLE في تطبيقات WINDOWS الأخرى، ولا يقتصر الأمر على "تضمين" بيانات التطبيقات الأخرى فحسب، بل أيضًا "تضمين" وظائف التطبيقات الأخرى. يمكن "دمج" جميع الكائنات المضمنة في WINDOWSOLE في برنامج التطبيق، على سبيل المثال، يمكنك استخدام Word وExcel وMail وMicrosoft Graph وما إلى ذلك لإنشاء برنامج نظام أتمتة مكتبي شامل بما في ذلك معالجة النصوص والتقارير الإلكترونية والبريد الإلكتروني والرسائل النصية القصيرة. الرسومات الإحصائية.
(4) لم يعد المطورون بحاجة إلى أن يكونوا خبراء في البرمجة: يوفر Visual Basic 3.0 وظيفة استدعاء OLE2.0، مما يقلل بشكل كبير من صعوبة استدعاء OLE. يمكن لمطوري البرامج العامة تطوير التطبيقات التي تستدعي كائنات Windows OLE.
يعد Visual Basic لنظام التشغيل Windows 3.0 (المشار إليه فيما يلي باسم VB) نظام تطوير متقدم لنظام التشغيل Windows، وهو يعتمد آلية تعتمد على الأحداث وتصميم الواجهة المرئية وبيئة التطوير والتصحيح والتجميع المتكاملة، كما يوفر VB وظائف تطوير برامج DDE وOLE. يعد VB مناسبًا لكل من المبرمجين المبتدئين وكبار المبرمجين لكتابة برامج تطبيقية قوية.
2. تصميم نظام الرسم العام
1. أضف أداة MicrosoftDrawOLE إلى نظام التشغيل Windows:
(1) تعديل win.ini:
[التضمين]
MSDraw=MicrosoftDrawing،MicrosoftDrawing،c:/yzgraph/msdraw.exe،صورة
(2) إنشاء MSDRAW.REG:
رجديت
HEKY_CLASSES_ROOT/MSDraw=MicrosoftDrawing
HKEY_CLASSES_ROOT/MSDraw/protocol/StdFileEditing/server=c:/yzgraph/msdraw.Exe
(3) قم بتشغيل REGEDIT.EXEMSDRAW.REG، وستظهر على الشاشة "تم تسجيل المعلومات الموجودة في c:/yzgraph/msdraw.exe" بنجاح في قاعدة بيانات تسجيل الدخول".
(4) انسخ MSDRAW.EXE وMS-DRAW.HLP من الدليل الفرعي /windows/msapps/msdraw في الإصدار الصيني من Microsoft Word 5.0 إلى الدليل الفرعي c:/yzgraph.
2. قم بإنشاء FORM1 في VB: ابدأ تشغيل VisualBASIC3.0 وحدد قائمة File-NEWProject؛
3. قم بإنشاء ثلاثة كائنات زر في FORM1: "حفظ" و"طباعة" و"خروج"؛
4. قم بإنشاء كائن OLE2 على FORM1: حدد عنصر التحكم OLE2.0 في نافذة Toolbox، وحرك الماوس إلى نافذة Forml، واضغط على الماوس الأيسر أثناء تحريك مؤشر الماوس واسحب مستطيلًا صغيرًا للخارج. حرر الماوس الأيسر في هذا الوقت، ستظهر نافذة الحوار "إدراج كائن" على الشاشة. حدد CreateNew-MicrosoftDrawing-ok. في هذا الوقت، سيبدأ MicrosoftDrawing ويخرج من MicrosoftDrawing؛
5. أضف عنصر تحكم لحفظ الرسومات والطباعة (mhoutbx.vbx) في Visual Basic 3.0:
mhoutbx.vbx هو عنصر تحكم VBX عالمي مزود بوظائف العرض والطباعة الرسومية التي توفرها MicroHelp. حدد قائمة File-AddFile في VisualBasic3.0 وحدد mhoutbx.bx؛
الحجم التلقائي=-1'صحيح
EraseForRead=-1'صحيح
6. قم بإنشاء كائن mhoutbx لحفظ الرسومات وطباعتها على FORM1 (يستخدم لـ MicrosoftDraw
حفظ النتيجة، النسخة المطبوعة)؛
7. اجعل FORM1 دائمًا في "الأعلى" (أي غير مغطى بالنوافذ الأخرى):
العالمية.
GlobalConstSWP_MOVE=2
GlobalConstSWP_NOSIZE=1
GlobalConstFLAGS=SWP_MOVEأوSWP_NOSIZE
GlobalConstHWND_TOPMOST=-1
GlobalConstHWND_NOTOPMOST=-2
DeclareFunctionSetWindowsPosLib"user"(ByValh,ByValhb,ByValX,
ByValy،ByValcx،ByValcy،By-Valf)AsInteger
DeclareFunctionGetSystemMetricsLib"user"(ByValnIn-dex)
GlobalConst
لا شيء=0&
GlobalConstWM_SYSCOMMAND=&H112
GlobalConstWM_LBUTTONDBLCLK=&H203
GlobalConstSC_CLOSE=&HF06O
GlobalConstWM-CLOSE=&H10
GlobalConstWM_GETMINMAXINFO=&H24
DeclareFunctionFindWindowsLib"User"(ByVallpClassNameAsAny،
بواسطةVallpWindowsNameAsAny)
AsInteger
قم بتعريف الوظائف وإرسال الرسالة&Lib"user"(ByValhWnd,ByValwmsg,
بواسطةValwparam، بواسطةValiparamAsLong)
GlobalConstSW_SHOWMAXIMIZED=3
DeclareFunctionShowWindowsLib"User"(ByValhWndAsInteger،
ByValnCmdShowAsInteger)AsInteger
8. قم بتنشيط MSDraw وقم بتكبيره:
SubForm_Load()
Dimrc,msdraw_h,Ipclass$,lpcaption$
form1,Width=Pane13D1.Width
rc=SetWindowPos(form1.hWnd,HWND
_TOPMOST،0،0،0،0،الأعلام)
rc=sendmessage(form1,OLE1.hWnd,WM
_LBUTTONDBLCLK،0،NILL)
AppActivate"MicrosoftDraw-Drawing"
إرسال المفاتيح "F"، صحيح
إرسال المفاتيح"{LEFT}X"،صحيح
form1.Show
EndSub
9. حفظ الرسم:
SubPanel3D1_Click()
أ$="ج:/test.wmf"
AppActivate"MicrosoftDraw-Drawing"
إرسال المفاتيح "FU"، صحيح
FORM1.MhOutbox1.MetaFileName=a$
FORM1.MhOutbox1.SaveMetaFile=True
EndSub
10. الطباعة الرسومية:
SubPanel3D2_Click()
AppActivate"MicrosoftDraw-Drawing"
إرسال المفاتيح "FU"، صحيح
MhOutboxl.OutContext=1
MhOutbox.EndPage=صحيح
EndSub
11. الخروج:
SubPanel3D3_Click()
تفريغ النموذج1
نهاية
EndSub->