برنامه 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 |