الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

جولة سريعة مع أداة ربط وتضمين الكائنات OLE Object Linking and Embedding Control

مغلق
بدأه qushisha في 28 مايو 2006 · 4 رد · 1,826 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هذه الأداة تمكنك من إضافة كائنات قابلة للإدراج إلى النماذج في برامج فيجوال بيسيك، إذ يمكنك بواسطتها:

- إنشاء مساحة محجوزة في برنامجك لكائن قابل للإدراج. يمكنك في وقت التشغيل إنشاء الكائن الذي سيتم عرضه فى الأداة

أو تغيير الكائن الذي وضعته فيها في وقت التصميم.

- إنشاء كائن مرتبط في برنامجك.

- ربط الأداة بقاعدة بيانات.

قم بإنشاء الكائن في وقت التصميم باستخدام مربع حوار إدراج كائن Insert Object (الذي يحتوي على

الأوامر: إدراج كائن Insert Object و لصق خاص Paste Special وغيرها)، أو في وقت

التشغيل بتحديد الخصائص المناسبة.

عندما تقوم بنقل الأداة على نموذج باستخدام الإجراء ObjectMove من الممكن أن تكون خاصيتا العرض Width

والارتفاع Height للكائن مختلفة شيئاً ما بعد النقل. هذا لأن مقاييس هذا الإجراء محولة من مقياس Pixel إلى

المقياس ScaleMode للنموذج الحالي. التحويل من Pixel إلى Twips لا يعطي دائما نتائج ذات قيم

مناسبة.

استخدام القائمة المنبثقة للأداة:

كلما قمت برسم هذه الأداة على نموذج، يظهر لك مربع حوار Insert Object. استخدم هذا المربع لإدراج

كائن مضمن Embedded أو مرتبط Linked. أما إذا قمت باختيار Cancel فإنه لا يتم إنشاء أية كائنات.

اضغط بالزر الأيمن للماوس على الأداة في وقت التصميم لعرض القائمة المنبثقة. الأوامر التي تظهر في هذه القائمة تتوقف على

حالة الأداة كالتالي:

- الأمر Insert Object متاح دائماً.

- الأمر Paste Special يكون متاحاً إذا كانت الحافظة Clipboard تحتوي على كائنات موجودة.

- الأمر Delete Embedded Object يكون متاحاً عندما تحتوي الأداة على كائن مضمن.

- الأمر Delete Linked Object يكون متاحاً عندما تحتوي الأداة على كائن مرتبط.

- الأمر Create Link يكون متاحاً عندما تكون الخاصية SourceDoc محددة.

- الأمر Create Embedded Object يكون متاحاً عندما تكون الخاصية SourceDoc

محددة.

يمكن لهذه الأداة أن تحتوي على كائن واحد في وقت واحد. يمكنك إنشاء كائنات مضمنة أو مرتبطة بعدة طرق:

- باستخدام مربح الحوار Insert Object (في وقت التشغيل أو في وقت التصميم).

- بتحديد الخاصية Class في نافذة الخواص، اضغط على الأداة بالزر الأيمن للماوس، ثم اختر الأمر المناسب (في وقت

التصميم فقط).

- باستخدام الإجراء المناسب للأداة.

إيجاد أسماء الفئات Class Names:

يمكنك الحصول على قائمة بأسماء الفئات المتاحة لبرنامجك باختيار الخاصية Class في نافذة الخواص وضغط زر

الخواص.

ملحوظة: مربع الحوار Insert Object لا يحتوي على قائمة بأسماء الفئات، ولكنه يعرض الأسماء الخاصة

بالمستخدم لكائنات كل فئة، والتي تكون أكثر سهولة للفهم عامة.

الله في عون العبد ما كان العبد في عون أخيه

#2

موضوع جديد و مفيد أرجو منك الاستمرار حتى يتم تثبيت الموضوع

1- لا خير في حسن الجسوم وطولها إن لم يزن حسن الجسوم عقول

2- لا تنظر إلى صغر الخطيئة .. ولكن انظر إلى عظم من عصيت

3- قد يجمع المال غير آكله . . ويأكل المال غير من جمعه

4- من وثق بالله أغناه ومن توكل عليه كفاه ومن خافه قلت مخافته ومن عرفه تمت معرفته

5- أن تضيء شمعة صغيرة خير لك من أن تنفق عمرك تلعن الظلام

6- لا يحزنك إنك فشلت مادمت تحاول الوقوف على قدميك من جديد

7- صديقك من يصارحك بأخطائك لا من يجملها ليكسب رضاءك

8 - الابتسامة كلمة طيبة بغير حروف

9- لا داعى للخوف من صوت الرصاص .. فالرصاصة التى تقتلك لن تسمع صوتها

10 -- يستطيع الناس أن يعيشوا بلا هواء بضع دقائق وبلا ماء أسبوعين وبلا

طعام حوالى شهرين وبلا أفكار سنوات لا حصر لها

من مواضيعى :

--------------

دروس تعلم كيف تصحح أخطائك بنفسك

برنامج الحائط النارى العربى ---- جديد

برنامج ساعة بالعقارب ------ جديد

لعبة سناك الشهيرة مع الكود

غير نظرتك لل picturebox وانظر ماذا فعلت بها

حمل ملف فلاش على الفورم بكل سهولة

مكتبة تحتوى على 50000 كتاب مجانى معظمها عن الكمبيوتر و البرمجة

برنامج المترجم العربى لترجمة الافلام

#3

الخاصية Action: وهي تقوم بتحديد قيمة لحدث معين في وقت التشغيل فقط. هذه الخاصية موجودة فقط لضمان التوافق مع الإصدارات القديمة من نسخة فيجوال بيسيك.

هذه القيمة عبارة عن رقم محصور بين الرقمين 0، 18. ولضمان تنظيم أفضل لبرامجك عامة يفضل استخدام الثوابت في برنامجك بدلاً من الأرقام، حيث إنها تعطيك فرصة لضمان سهولة مراجعة وتصحيح وتعديل برامجك فيما بعد. وفي موضوعنا هذا توجد الثوابت المطلوبة بواسطة هذه الأداة في مكتبة تسمى OLEContainerConstants ولكنها مختلطة بثوابت أخرى، لذا أقترح عليك عزيزي القارئ وضع الثوابت الخاصة بهذه الخاصية في Enumerator كالتالي:

Enum OleActionConstants

CreateEmbed

CreateLink

Copy = 4

Paste

Update

DoVerb

CloseObject = 9

Delete

SaveToFile

ReadFromFile

InsertObjDlg = 14

PasteSpecialDlg

FetchVerbs = 17

SaveToOle1File

End Enum

وعندما تريد استخدام أي ثابت منها ما عليك سوى ذكر اسمه كالتالي:

OLE1.Action = InsertObjDlg

وهذا سيعرض للمستخدم مربع الحوار Insert Object، كما سنرى فيما بعد

ملحوظة: حيث إن العداد Enum يقوم بترقيم الثوابت تلقائياً، وبما أن قيم الثوابت التي نريد استخدامها لا تحمل أرقاماً متتالية، لذا قمنا بتحديد قيم بعضها لكي نتخطى الأرقام التي لا تخص ثوابتنا، فالثابت Copy مثلاً قيمته 4، ولو لم نحدد له هذه القيمة، كان سيتم تحديد قيمته بالرقم 3 وبالتالي سوف نحصل على نتائج غير متوقعة إذا قمنا باستخدامه، كذلك كل الثوابت التالية له ستتأثر بهذا، حيث إن الثابت التالي له سيأخذ القيمة 5 بدلاً من 3 نتيجة هذا التحديد، وبهذا نكون قد ضربنا عصافير عديدة بحجر واحد.

الله في عون العبد ما كان العبد في عون أخيه

#4

تحياتي لك أخي qushisha على هذا الجهد المبارك

بودي لو تقوم بجعل الخط باللون الأسود، أو تضخيم حجم الخط قليلاً ..

كما يمكن الاستفادة من إمكانيات المنتدى في وضع الكود في المكان المخصص له

Code

بالتوفيق ..

ani.gif
#5

شكرا لك أخي عبد الله على الاهتمام.

تم تعديل هذه المشاركة بواسطة qushisha في 29 مايو 2006 في 14:19

الله في عون العبد ما كان العبد في عون أخيه

هذا الموضوع مغلق.

مواضيع مشابهة