آموزش ویژوال بیسیک و برنامه نویسی

سورس,ویژوال بیسیک,نرم افزار,باشگاه,بدنسازی,فوتبال,آنالیز,پیش بینی,کد,برنامه نویسی

آموزش ویژوال بیسیک و برنامه نویسی

سورس,ویژوال بیسیک,نرم افزار,باشگاه,بدنسازی,فوتبال,آنالیز,پیش بینی,کد,برنامه نویسی

کنترل Web Browser – ساخت مرورگر صفحات وب

برنامه Internet Explorer یا iexplore.exe در واقع برنامه کوچکی است که وظیفه اصلی آن ایجاد چارچوبی برای بهم پیوستن عناصر مختلف است و این عناصر هستند که وظایف اصلی مثل load کردن صفحات وب ، اجرای کدهای Html و غیره را انجام می دهند . اصلی ترین عنصری که مستقیماً توسط iexplore.exe استفاده می شود کنترل Webbrowser ( موجود در فایل shdocrw.dll ) می باشد . وظیفه این فایل dll ، عبارت است از حرکت بین صفحات وب ، مدیریت تاریخچه صفحات دیده شده و غیره . این فایل خود از فایل دیگری بنام Mshtml.dll استفاده می کند که وظیفه آن بررسی و اجرای فایلهای html است . مایکروسافت به برنامه نویسان این امکان را داده که بتوانند در برنامه هایشان از کنترل webbrowser استفاده کنند . با استفاده از این کنترل می توان به سادگی یک مرورگر وب تقریباً کامل ساخت .
خصوصیات کنترل Webbrowser :
Webbrowser علاوه بر خواص استانداردی مثل width ، height و … خواص زیر را دارد :
۱ – Busy : اگر در حال load کردن یک صفحه یا در حال جستجو در وب باشد این خاصیت True است . توسط متد Stop می توان عملیات جاری را متوقف کرد .
۲ – Container : ارجاع به شی نگهدارنده کنترل webbrowser
3 – Document : ارجاع به صفحه html فعلی . برای کار با این صفحه html می توان از خواص و متدهابی شی Document استفاده کرد .
۴ – LocationName : حاوی آدرس محلی است که اکنون در کنترل webbrowser ، load شده است . اگر این محل یک صفحه html باشد عنوان آن صفحه خواهد بود و اگر این محل یک فایل در شبکه باشد مسیر کامل آن فایل خواهد بود .
۵ – LocationURL : حاوی url محلی است که فعلاً در کنترل webbrowser ، load شده است .
۶ – Offline : اگر کنترل webbrowser در حالت عدم اتصال باشد مقدار آن True و در غیراینصورت False است .
۷ – Parent : فرمی را نشان می دهد که کنترل webbrowser در آن قرار دارد .
۸ – ReadyState : وضعیت کنترل webbrowser را برمی گرداند .
متدهای کنترل webbrowser : این متدها مربوط به مرور در صفحات وب هستند :
۱- GoBack : در لیست تاریخچه url ها ، یکی به عقب برمی گردد .
۲ – GoForward : در لیست تاریخچه url ها ، یکی به جلو می رود .
۳ – GoHome : به homepage مرورگر می رود .
۴ – Navigate : به یک url یا فایل می رود . ساختار این متد بصورت زیر است :

Navigate URL [Flags,][TargetFrameName,][PostData,][Headers]x

URL آدرس مقصد می باشد . Flags نحوه باز شدن آدرس مقصد را تعیین می کند . اگر این پارامتر ذکر نشود آدرس جدید در پنجره فعلی باز خواهد شد و به لیست تاریخچه اضافه شده و اگر کپی آن در temperory cache موجود باشد از آنجا خوانده می شود . مقادیر پارامتر Flags عبارتند از :
- NavOpenInNewWindow : آدرس جدید را در پنجره جدیدی باز می کند .
- NavNoHistory : به لیست تاریخچه اضافه نمی شود بلکه جایگزین صفحه فعلی می شود .
- NavNoReadFromCache : صفحه جدید از cache خوانده نمی شود .
- NavNoWriteToCache : صفحه جدید روی cache نوشته نمی شود

Event های کنترل webbrowser : این event ها مربوط به مرور در وب و تغییر حالت آن هستند :
۱ – CommandStateChange : برای فعال یا غیرفعال کردن دکمه های Forward و Back در مرورگر استفاده می شود . شکل کلی فراخوانی این event بصورت زیر است :

Private Sub WebBrowser1_CommandStateChange(ByVal Command As Long, ByVal Enable As Boolean)

که command فرمانی است که حالت فعال آن تغییر کرده است و دو مقدار می گیرد : ۱ و ۳ که بترتیب معادل فرمانهای GoForward و GoBack هستند .
Enable فعال یا غیرفعال بودن فرمان را تعیین می کند .
۲ – DocumentComplete : این event زمانی فعال می شود که صفحه در حال load شدن به حالت ReadyState_Complete برود . شکل کلی فراخوانی این event بصورت زیر است :
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
که pDisp ارجاعی به کنترل webbrowser است که event در آن رخ داده است و URL آدرس صفحه در حال load شدن است .
۳ – DownloadBegin : این event در آغاز حرکت به صفحه جدید روی می دهد و هیچ پارامتری نمی گیرد . مرورگر می تواند در این event پیغامی برای شروع عملیات جدید نشان می دهد .
۴ – DownloadComplete : این event در پایان عملیات یا در صورت انصراف کاربر یا بروز خطا روی می دهد .
۵ – ProgressChange : با بروز هر تغییری در وضعیت load ، این event روی می دهد . شکل کلی فراخوانی آن بصورت زیر است :

Private Sub WebBrowser1_ProgressChange(ByVal Progress As Long, ByVal ProgressMax As Long)

که Progress نشان دهنده پیشرفت عملیات ( بایتهای load شده ) است . پارامتر ProgressMax تعداد کل بایتهایی که باید load شوند را نشان می دهد بنابر این :

(Progress/ProgressMax)*100=درصد پیشرفت عملیات load

یک مثال ساده :
از منوی project مورد components را انتخاب کنید و از لیست کنترلها ، Microsoft Internet Controls را به toolbar خود اضافه کنید . یک کنترل WebBrowser روی فرم قرار دهید و سایز آنرا به اندازه ابعاد فرم خود قرار دهید . یک textbox و یک دکمه روی فرم قرار دهید . کد زیر را برای event مربوط به کلیک دکمه بنویسید :

WebBrowser.Navigate textbox.text
__________________________________________________ __________________________
WebBrowser.Navigate textbox.text
نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد