Mongoose IE Element

    • VB.NET

    Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von r3mote.

      Mongoose IE Element


      Mongoose World 2 ist ein sehr einfacher WebBrowser mit der Fähigkeit Zeile die in einem neuen Fenster zu laden sind, in Mongooses neuem Fenster zur laden...

      VBVersion: VB8

      *Das Bild zeigt nur den Browser auf den dieses IE-Element angewendet wurde!

      VB.NET-Quellcode

      1. Imports System.Runtime
      2. Imports System.ComponentModel
      3. Public Class MongooseBrowser
      4. Inherits WebBrowser
      5. Private cookie As AxHost.ConnectionPointCookie
      6. Private events As WebBrowserExtendedEvents
      7. Private Const WM_PARENTNOTIFY As Integer = &H210
      8. Private Const WM_DESTROY As Integer = 2
      9. Public Event WindowClosing()
      10. Protected Overrides Sub WndProc(ByRef m As Message)
      11. Select Case m.Msg
      12. Case WM_PARENTNOTIFY
      13. If (Not DesignMode) Then
      14. If (m.WParam = WM_DESTROY) Then
      15. RaiseEvent WindowClosing()
      16. End If
      17. End If
      18. DefWndProc(m)
      19. Case Else
      20. MyBase.WndProc(m)
      21. End Select
      22. End Sub
      23. Protected Overloads Overrides Sub CreateSink()
      24. MyBase.CreateSink()
      25. events = New WebBrowserExtendedEvents(Me)
      26. cookie = New AxHost.ConnectionPointCookie(Me.ActiveXInstance, events, GetType(DWebBrowserEvents2))
      27. End Sub
      28. Protected Overloads Overrides Sub DetachSink()
      29. If cookie IsNot Nothing Then
      30. cookie.Disconnect()
      31. cookie = Nothing
      32. End If
      33. MyBase.DetachSink()
      34. End Sub
      35. Public Event NewWindowWithTaget As EventHandler(Of WebBrowserExtendedNavigatingEventArgs)
      36. Protected Sub OnNewWindow3(ByVal url As String, ByVal e As WebBrowserExtendedNavigatingEventArgs)
      37. RaiseEvent NewWindowWithTaget(Me, e)
      38. End Sub
      39. Private Class WebBrowserExtendedEvents
      40. Inherits System.Runtime.InteropServices.StandardOleMarshalObject
      41. Implements DWebBrowserEvents2
      42. Private _Browser As ExtendedWebBrowser
      43. Public Sub New(ByVal browser As ExtendedWebBrowser)
      44. _Browser = browser
      45. End Sub
      46. Public Sub NewWindow3(ByVal pDisp As Object, ByRef cancel As Boolean, ByRef flags As Object, ByRef hostURL As Object, ByRef URL As Object) Implements DWebBrowserEvents2.NewWindow3
      47. Dim args As New WebBrowserExtendedNavigatingEventArgs(URL)
      48. args.Cancel = cancel
      49. _Browser.OnNewWindow3(URL, args)
      50. cancel = args.Cancel
      51. End Sub
      52. End Class
      53. <InteropServices.ComImport(), InteropServices.Guid("34A715A0-6587-11D0-924A-0020AFC7AC4D"), InteropServices.InterfaceTypeAttribute(InteropServices.ComInterfaceType.InterfaceIsIDispatch), InteropServices.TypeLibType(InteropServices.TypeLibTypeFlags.FHidden)> _
      54. Public Interface DWebBrowserEvents2
      55. <InteropServices.DispId(273)> _
      56. Sub NewWindow3(ByVal pDisp As Object, ByRef cancel As Boolean, ByRef flags As Object, ByRef hostURL As Object, ByRef URL As Object)
      57. End Interface
      58. End Class
      59. Public Class WebBrowserExtendedNavigatingEventArgs
      60. Inherits CancelEventArgs
      61. Private _Url As String
      62. Public Sub New(ByVal url As String)
      63. _Url = url
      64. End Sub
      65. Public ReadOnly Property Url() As String
      66. Get
      67. Return _Url
      68. End Get
      69. End Property
      70. End Class

      Keine PN's bezüglich VB an mich! Dafür gibt es das Forum!

      :Kreis hier. Kreis da.:

      Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von „mikeb69“ () aus folgendem Grund: VB-Version hinzugefügt.

      Sind Webbrowser jetzt die neuen Texteditoren und Desktop Locker oder wie? Naja das Design ist Geschmackssache, aber bei mir ist das Ding extrem Langsam. Lädt ewig! Beim Schließen hat er auch Fehler, liegt wohl am Design denn das Fenser wird weiter halb angezeigt.

      lg
      Den "Browser" habe ich vor ewigkeiten gemacht, worum es ja eig auch nur geht, is die BrowserKlasse, die kann sich jeder gerne ziehn...

      Keine PN's bezüglich VB an mich! Dafür gibt es das Forum!

      :Kreis hier. Kreis da.:

      Der Code steht doch da!!! :D Oben im ersten Post, einfach nur im Projekt ne neue Klasse erstellen, Code rein, fertig :D

      Keine PN's bezüglich VB an mich! Dafür gibt es das Forum!

      :Kreis hier. Kreis da.: