تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مقال- ما لا تعرفونه عن Web browser Control
#1
كاتب الموضوع : Islam Ibrahim

السلام عليكم ورحمة الله تعالى وبركاته

في هذا المقال سأحاول أن أوضح بعض النقاط التي قد تخفى عن الكثير, أثناء استخدام أداة التحكم Web browser. بصراحة لم أتعمق في الموضوع وتفاصيله, فبمجرّد أن اكتشفته سارعت بمشاركتكم به, لذلك فالدعوة عامة للمشاركة بالآراء, والأفكار, وتوضيح ما هو غامض.

هناك خاصية تمتاز بها أداة التحكم Web Browser وهي ActiveXInstance والتي تعيد أداة ActiveX لـ Internet Explorer الأصلية, والغريب في الأمر أنها تعيد كائن من النوع Object وهذا ما يثير الغموض حولها.

يمكن من خلال هذه الخاصية تنفيذ أوامر لا يمكن تنفيذها مباشرة من خلال أداة التحكم WebBrowser نفسه من خلال الأسلوب ExecWB الذي يمكن تمريره للخاصية ActiveXInstance, وإمرار معاملات إليها حسب الطلب, لكن يجب الحذر من استخدامها فالاستخدام الخاطئ لها يمكن أن يؤدي إلى حدوث استثناءات Exceptions لقدّر الله .

وهذا تركيب الدالة ExecWB:


كود :
Sub ExecWB(ByVal cmdID As Long, ByVal CmdExecopt As OLECMDEXECOPT, Optional ByVal pvaIn As Object = Nothing, Optional ByVal pvaOut As Object = Nothing)
المعلِّمات:
CmdId
من النوع Long, وهو يمثل الإجراء المطلوب تنفيذه وهو يأخذ أحد القيم التالية (بعض الأوامر غامضة لا أحد يعلمها, لكن منها ما هو معروف):


كود :
Public Enum OLECMDID
OLECMDID_OPEN = 1 ' إظهار مربع الحوار فتح
OLECMDID_NEW = 2 ' فتح صفحة جديدة
OLECMDID_SAVE = 3 ' حفظ الصفحة الحالية
OLECMDID_SAVEAS = 4 ' إظهار مربع الحوار حفظ باسم
OLECMDID_SAVECOPYAS = 5 ' حفظ نسخة باسم
OLECMDID_PRINT = 6 ' طباعة المستند الحالي
OLECMDID_PRINTPREVIEW = 7 ' عرض مربع الحوار معاينة قبل الطباعة
OLECMDID_PAGESETUP = 8 ' عرض مربع إعداد الصفحة
OLECMDID_SPELL = 9
OLECMDID_PROPERTIES = 10 ' عرض مربع الحوار خصائص
OLECMDID_CUT = 11 ' قص
OLECMDID_COPY = 12 ' نسخ
OLECMDID_PASTE = 13 ' لصق
OLECMDID_PASTESPECIAL = 14 ' لصق خاص
OLECMDID_UNDO = 15 ' تراجع
OLECMDID_REDO = 16 ' إعادة
OLECMDID_SELECTALL = 17 ' تحديد الكل
OLECMDID_CLEARSELECTION = 18 ' مسح التحديد
OLECMDID_ZOOM = 19 'تكبير
OLECMDID_GETZOOMRANGE = 20 ' لا أعلم وظيفتها
OLECMDID_UPDATECOMMANDS = 21 ' لا اعلم وظيفتها
OLECMDID_REFRESH = 22 ' الله أعلم لتحديث الصفحة
OLECMDID_STOP = 23 ' الله أعلم لإيقاف التحميل
OLECMDID_HIDETOOLBARS = 24 ' إخفاء شريط الأداوات يظهر التأثير فقط على Internet Explorer
OLECMDID_SETPROGRESSMAX = 25 ' تعيين أقصى خد لاداة التقدم
OLECMDID_SETPROGRESSPOS = 26
OLECMDID_SETPROGRESSTEXT = 27
OLECMDID_SETTITLE = 28
OLECMDID_SETDOWNLOADSTATE = 29
OLECMDID_STOPDOWNLOAD = 30
OLECMDID_ONTOOLBARACTIVATED = 31
OLECMDID_FIND = 32 ' البحث على ويب
OLECMDID_DELETE = 33 ' حذف عنصر ما
OLECMDID_HTTPEQUIV = 34
OLECMDID_HTTPEQUIV_DONE = 35
OLECMDID_ENABLE_INTERACTION = 36
OLECMDID_ONUNLOAD = 37
OLECMDID_PROPERTYBAG2 = 38
OLECMDID_PREREFRESH = 39
OLECMDID_SHOWSCRIPTERROR = 40
OLECMDID_SHOWMESSAGE = 41
OLECMDID_SHOWFIND = 42 ' عرض مربع الحوار Find
OLECMDID_SHOWPAGESETUP = 43
OLECMDID_SHOWPRINT = 44
OLECMDID_CLOSE = 45
OLECMDID_ALLOWUILESSSAVEAS = 46
OLECMDID_DONTDOWNLOADCSS = 47
OLECMDID_UPDATEPAGESTATUS = 48
OLECMDID_PRINT2 = 49
OLECMDID_PRINTPREVIEW2 = 50
OLECMDID_SETPRINTTEMPLATE = 51
OLECMDID_GETPRINTTEMPLATE = 52
OLECMDID_PAGEACTIONBLOCKED = 55
OLECMDID_PAGEACTIONUIQUERY = 56
OLECMDID_FOCUSVIEWCONTROLS = 57
OLECMDID_FOCUSVIEWCONTROLSQUERY = 58
OLECMDID_SHOWPAGEACTIONMENU = 59
OLECMDID_ADDTRAVELENTRY = 60
OLECMDID_UPDATETRAVELENTRY = 61
OLECMDID_UPDATEBACKFORWARDSTATE = 62
OLECMDID_OPTICAL_ZOOM = 63
OLECMDID_OPTICAL_GETZOOMRANGE = 64
OLECMDID_WINDOWSTATECHANGED = 65
End Enum
Cmdexecopt
من النوع CMDEXECOPT (ترقيم enumeration ) , وهو يمثل خيار التنفيذ.


كود :
Public Enum CMDEXECOPT
OLECMDEXECOPT_DODEFAULT = 0
OLECMDEXECOPT_PROMPTUSER = 1
OLECMDEXECOPT_DONTPROMPTUSER = 2
OLECMDEXECOPT_SHOWHELP = 3
End Enum

  1. OLECMDEXECOPT_DODEFAULT المطالبة من المستخدم بإدخال كائن ما أم لا، وهو عادة الخيار الافتراضي.
  2. LECMDEXECOPT_PROMPTUSER تنفيذ الأمر بعد الحصول على إدخال المستخدم.
  3. OLECMDEXECOPT_DONTPROMPTUSER تنفيذ الأمر دون عرض مطالبة للمستخدم. على سبيل المثال، النقر فوق زر الطباعة في شريط الأدوات يؤدي إلى طباعة المستند مباشرةً دون تدخّل المستخدم.
  4. OLECMDEXECOPT_SHOWHELP إظهار التعليمات المتعلّقة بالأمر, دون تنفيذه.

pvaIn اختياري, يستخدم لإدخال وسيطات خاصة حسب الأمر.
pvaOut اختياري, يستخدم لتعيين وسيطات الإخراج.

مثال: لتحديد كافة المستند.

كود :
WebBrowser1.ActiveXInstance.ExecWB(OLECMDID_SELECTALL,2,Nothing)
وللحديث بقية.
}}}}
تم الشكر بواسطة:
#2
هذا تفسير لبعض الأوامر

olecmdid_open
قائمة "ملف" ، الأمر "فتح"

olecmdid_new
قائمة "ملف" ، الأمر جديد

olecmdid_save
قائمة "ملف" ، الأمر "حفظ"

olecmdid_saveas
قائمة "ملف" ، الأمر "حفظ باسم"

olecmdid_savecopyas
قائمة "ملف" ، الأمر "حفظ نسخة باسم"

olecmdid_print
قائمة "ملف" ، الأمر "طباعة"

olecmdid_printpreview
قائمة "ملف" ، الأمر "معاينة قبل الطباعة"

olecmdid_pagesetup
قائمة "ملف" ، الأمر "إعداد الصفحة"

olecmdid_spell
القائمة أدوات الأمر "تدقيق إملائي"

olecmdid_properties
القائمة ملف ، الأمر "خصائص"

olecmdid_cut
القائمة "تحرير" الأمر "قص"

olecmdid_copy
القائمة "تحرير" الأمر نسخ

olecmdid_paste
القائمة "تحرير" الأمر لصق

olecmdid_pastespecial
القائمة "تحرير" الأمر "لصق خاص"

olecmdid_undo
القائمة "تحرير" الأمر تراجع

olecmdid_redo
القائمة "تحرير" الأمر إعادة

olecmdid_selectall
القائمة "تحرير" الأمر "تحديد الكل"

olecmdid_clearselection
القائمة "تحرير" الأمر "مسح التحديد"

olecmdid_zoom
عرض القائمة الأمر تكبير/تصغير (تغيير حجم الخط)

olecmdid_getzoomrange
تكبير/تصغير retrieves نطاق المنطبقة على "طريقة عرض تكبير/تصغير" (انظر أدناه للحصول على التفاصيل).

olecmdid_updatecommands
إعلام جهاز استقبال عادة يكون إطار Frame، من تغييرات حالة الأدوات. ثم الاستعلام عن حالة الأوامر كلما كان ذلك ملائماً.

olecmdid_refresh
قائمة "العرض". تحديث الصفحة

olecmdid_stop
إيقاف معالجة جميع العمليات الحالية.

olecmdid_hidetoolbars
القائمة عرض, الأمر "أشرطة أدوات". يؤدي إلى إخفاء أشرطة الأدوات.

olecmdid_setprogressmax
يقوم بتعيين قيمة الحد الأقصى من مؤشر التقدم, القيمة الدنيا دائماً صفراً.

olecmdid_setprogresspos
يقوم بتعيين قيمة الحالية مؤشر التقدم.

olecmdid_setprogresstext
تعيين النص الوارد في مؤشر التقدم.

olecmdid_settitle
تعيين نص شريط العنوان.

olecmdid_setdownloadstate
يتم استدعاؤه عند تغيير حالة التحميل. يأخذ الـ Parameter TRUE إذا مازال التحميل جاريا FALSE إذا كان ذلك لا.

olecmdid_stopdownload
إيقاف التحميل عند تنفيذها.

olecmdid_find
القائمة "تحرير" الأمر "بحث"

olecmdid_delete
القائمة "تحرير" الأمر "حذف"

olecmdid_print2
القائمة ملف ، أمر الطباعة المحدّث

olecmdid_printpreview2
ملف القائمة ، أمر "معاينة قبل الطباعة" المحدّث

olecmdid_pageactionblocked
يشير إلى أن إجراء صفحة قد تم حظره. يتم تصميم PAGEACTIONBLOCKED للاستخدام مع التطبيقات التي تستضيف عنصر تحكم WebBrowser Internet Explorer لتنفيذ واجهة المستخدم الخاصة بهم.

olecmdid_pageactionuiquery
تحديد الإجراءات التي يتم عرضها في ناحية الإعلام Notification Area لـ Internet Explorer.

olecmdid_focusviewcontrols
تسبب Internet Explorer للتركيز Focus في ناحية الإعلام الافتراضي لـ WebBrowser. يمكن إرسال هذا الأمر في أي وقت. قيمة الإرجاع هي S_OK إذا كان الشريط موجودا في وضع التركيز أو S_FALSE خلاف ذلك.

olecmdid_focusviewcontrolsquery
شبيه للأمر السابق.

olecmdid_showpageactionmenu
تسبب عنصر تحكم WebBrowser لإظهارقائمة شريط المعلومات.

olecmdid_addtravelentry
يقوم عنصر التحكم بإنشاء إدخال في "سجل التنقل" لـ WebBrowser.

olecmdid_updatetravelentry
غير واضح, أنقر هنا لمراجعة المقالة باللّغة الإنكليزية.

olecmdid_updatebackforwardstate
تحديث حالة الخلف والأمام في المستعرض.

olecmdid_optical_zoom
Windows Internet Explorer 7 والإصدارات الأحدث. تعيين عامل التكبير/التصغير في المستعرض. ويأخذ وسائطة VT_I4 في النطاق من 10 إلى 1000 (%).

olecmdid_optical_getzoomrange
Windows Internet Explorer 7 والإصدارات الأحدث. يسترد حدود عامل التكبير/التصغير مستعرض الحد الأدنى والحد الأقصى. إرجاع معلمة VT_I4; LOWORD هو عامل الحد الأدنى للتكبير/التصغير ، HIWORD هو الحد الأقصى.

olecmdid_windowstatechanged
Windows Internet Explorer 7 والإصدارات الأحدث. إعلام عنصر تحكم Internet Explorer من التغييرات عن حالة إطار WebBrowser مثل فقدان التركيز أو تصبح مخفية أو تصغيرها.

olecmdid_activexinstallscope
Windows Internet Explorer 8 مع نظام التشغيل Windows Vista. ليس له تأثير مع Windows Internet Explorer 8 مع نظام التشغيل Windows XP. غير واضح, أنقر هنا لمراجعة المقالة باللّغة الإنكليزية.
olecmdid_updatetravelentry_datarecovery
غير واضح, أنقر هنا لمراجعة المقالة باللّغة الإنكليزية.
}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مقال: Reflection وكيفية استخدامها في برامجنا Islam Ibrahim 5 737 13-01-16, 11:41 PM
آخر رد: Fantastico
  [مقال منقول] مشروع Mono : شغل الدوت نت على اللينكس أو أي نظام تشغيل تحلم به الشاكي لله 6 2,019 13-03-14, 02:02 AM
آخر رد: الشاكي لله
  مقال- كيف نحل مشاكلنا بأنفسنا- RaggiTech 0 589 27-10-12, 04:23 PM
آخر رد: RaggiTech
  مقال تقني- Windows Vista وVisual Studio RaggiTech 0 369 09-10-12, 11:46 AM
آخر رد: RaggiTech
  مقال: DotNET Components Licencing RaggiTech 0 328 09-10-12, 11:44 AM
آخر رد: RaggiTech
  مقال- التخزين المعزول Isolated Storage RaggiTech 1 350 09-10-12, 11:42 AM
آخر رد: RaggiTech
  مقال- التوثيق في الدوت نت Documenting In .NET RaggiTech 4 711 09-10-12, 11:40 AM
آخر رد: RaggiTech
  مقال: كيف نحل مشاكلنا بأنفسنا- RaggiTech 0 273 09-10-12, 11:25 AM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم