اصنع متصفحك الخاص؟ هل هناك أي خطأ؟ ناهيك عن الشركات العملاقة مثل IE، وحتى Opera المدمجة، فإن معظمنا نحن الأشخاص العاديين لن يتمكنوا أبدًا من القيام بذلك. ولكن إذا كان لديك الإصدار الاحترافي VB5.0 مثبتًا على جهازك، فستكون الأمور أسهل كثيرًا. هل تريد تجربتها؟ حسنا، دعونا نذهب!
بطل البرنامج هو عنصر تحكم ActiveX: WebBrowser. بالطبع، لا يتم تضمينه في صندوق أدوات VB بشكل افتراضي، وعلينا إضافته يدويًا. الطريقة هي: انقر بزر الماوس الأيمن على صندوق الأدوات، ثم حدد "أجزاء..." في القائمة المختصرة التي تظهر، وتأكد من ذلك. حدده في مربع الحوار المنبثق. علامة التبويب "عناصر التحكم"، ابحث عن عناصر تحكم الإنترنت لـ Microsoft، وحدد المربع الصغير الموجود أمامها، ثم موافق. في هذه المرحلة، ستجد رمزين صغيرين آخرين في مربع الأدوات، ومن بينهما، عنصر التحكم الذي يمثله رمز الكرة الأرضية هو WebBrowser الذي نحتاجه.
نظرًا لأن العديد من الأشخاص ليسوا على دراية بعنصر تحكم WebBrowser، ولا يوجد محتوى عنه في مساعدة VB (لم أجده على أي حال)، فمن الضروري تقديم خصائصه وأساليبه وأحداثه نظرًا لقيود المساحة. نحن نغطي فقط تلك المستخدمة في البرنامج:
الخاصية: LocationURL تقوم بإرجاع عنوان URL لصفحة الويب التي يعرضها عنصر التحكم.
الطريقة: انتقل إلى عمليات النقل إلى عنوان URL المحدد أو افتح ملف HTML المحدد.
الحدث: 1. يتم تشغيل DownloadBegin عند بدء عملية التنزيل.
2. يتم تشغيل DownloadComplete عند اكتمال عملية التنزيل أو إنهائها أو فشلها.
3. يقوم عنصر التحكم ProgressChange WebBrowser بتتبع تقدم عملية التنزيل ويقوم بتشغيل هذا الحدث بشكل دوري. بناء الجملة هو: Sub WebBrowser_ProgressChange (ByVal Progress As Long، ByVal ProgressMax As Long). وسيطة التقدم هي إجمالي كمية البيانات التي تم تنزيلها حاليًا، ووسيطة ProgressMax هي إجمالي كمية البيانات التي سيتم تنزيلها.
4. يتم تشغيل TitleChange عندما يتغير عنوان المستند الحالي.
بالإضافة إلى عنصر تحكم WebBrowser، يحتاج البرنامج أيضًا إلى عنصر تحكم التسمية: Label1؛ عنصر تحكم ComboBox: combo1، يستخدم لعرض عنوان URL؛ عنصر تحكم شريط الحالة: شريط التقدم: ProgressBar1، يستخدم لعرض تقدم التنزيل (StatusBar عنصر التحكم وعنصر التحكم ProgressBar هما عنصر تحكم ActiveX وهو عضو في Microsoft Windows Common Controls 5.0. طريقة إضافته إلى مربع الأدوات هي نفس عنصر تحكم WebBrowser). تستخدم قيم خصائص عناصر التحكم هذه القيم الافتراضية.
وهنا قائمة البرنامج:
الخيار صريح نموذج فرعي خاص_تحميل() Me.Caption="مستكشفي" Label1.Caption = "URL" Combo1.Text = "" Combo1.Top = Label1.Height كومبو1.يسار = 0 WebBrowser1.Top = Combo1.Top + Combo1.Height متصفح الويب1.يسار = 0 Form_Resize StatusBar1.Style = sbrSimple ProgressBar1.Zorder نهاية الفرعية |
نموذج فرعي خاص_Resize() عند حدوث خطأ، انتقل إلى أ Combo1.Width = Form1.Width - 100 WebBrowser1.Width = Combo1.Width WebBrowser1.Height = Form1.Height - Combo1.Height - 1000 ProgressBar1.Top = Me.Height - StatusBar1.Height - 330 ProgressBar1.Left = 0.25 * StatusBar1.Width ProgressBar1.Width = 0.75 * Me.Width - 250 أ: نهاية الفرعية |
التحرير والسرد الفرعي الخاص1_Click() `انتقل إلى عنوان URL المحدد WebBrowser1.Navigate Combo1.Text نهاية الفرعية التحرير والسرد الفرعي الخاص1_KeyDown (رمز المفتاح كعدد صحيح، Shift كعدد صحيح) خافت أنا طالما خافت موجود كمنطقي إذا كان رمز المفتاح = 13 ثم إذا ترك (Combo1.Text, 7) <> "http://"ثم Combo1.Text = "http://"+ Combo1.Text نهاية إذا WebBrowser1.Navigate Combo1.Text لأني = 0 إلى Combo1.ListCount - 1 إذا Combo1.List(I) = Combo1.Text ثم موجودة=صحيح الخروج ل آخر موجود = خطأ نهاية إذا التالي إذا لم يكن موجودا ثم Combo1.AddItem (Combo1.Text) نهاية إذا نهاية إذا نهاية الفرعية |
WebBrowser الفرعي الخاص1_DownloadBegin() `عند بدء التنزيل، يعرض شريط الحالة "الربط الآن..." StatusBar1.SimpleText = "الآن يتم الربط..." نهاية الفرعية |
متصفح ويب فرعي خاص1_DownloadComplete() `عند اكتمال التنزيل، يعرض شريط الحالة "انتهى الارتباط" StatusBar1.SimpleText = "انتهى الارتباط" شريط التقدم 1. القيمة = 0 نهاية الفرعية |
WebBrowser1_ProgressChange الفرعي الخاص (تقدم ByVal طويلًا، ByVal ProgressMax طالما) `يتغير شريط التقدم عندما يكون التنزيل قيد التقدم إذا كان ProgressMax = 0 ثم قم بالخروج من Sub ProgressBar1.Max = ProgressMax إذا كان التقدم <> -1 والتقدم <= ProgressMax إذن ProgressBar1.Value = التقدم نهاية إذا نهاية الفرعية |
WebBrowser1_TitleChange الفرعي الخاص (نص ByVal كسلسلة) Combo1.Text = WebBrowser1.LocationURL نهاية الفرعية |