vb.net webbrowser seiteinhalt automatisch anpassen

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von vierkant.

    vb.net webbrowser seiteinhalt automatisch anpassen

    Hallo

    Ich lade meine IP Cam in den Webbrowser, das funktioniert auch, aber wie bekomme ich das was angezeigt wird zentriert oder skaliert.
    Hat jemand einen Link oder eine Idee?

    :)

    pc-mosoft.de/browser.PNG

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Lacky100“ ()

    @Grasdackel1996
    Noch besser ist aber, wenn der TE sich die Layout-Controls und deren Dock-Eigenschaften anschaut (zB. FlowLayoutPanel, TableLayoutPanel). ;)

    Mit den Anchor-Eigenschaften ist er natürlich auch nicht auf dem Holzweg...
    Hallo,
    FlowLayoutPanel, TableLayoutPanel oder Anchor-Eigenschaften, das meine ich nicht.
    Wir ihr anhand des Bildes sehen könnt. Habe ich 8 IP Cams und so mit auch 8 Webbrowser.
    In den Webbrowser ( der größere davon ist alles k.O, da regle ich das mit den Zoom.
    Aber die Webbrowser 2 bis 8, da soll das ganze Bild da gestellt werden und nicht der Rand oben Recht.
    :)
    Such im Web nach WebControl und der ExecWB-Methode, dann wirst Du fündig.

    Edit: ich wusste ich hatte damit mal vor Jahren rumgespielt, hier noch der Code aus dem ZIP-Archiv:

    VB.NET-Quellcode

    1. Option Strict Off
    2. Public Class Form1
    3. Public Property ZoomFactor As Integer = 50
    4. ' constants
    5. Const OLECMDID_OPTICAL_ZOOM As Integer = 63
    6. Const OLECMDEXECOPT_DONTPROMPTUSER As Integer = 2
    7. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    8. ' navigate
    9. WebBrowser1.Navigate("http://www.vb-paradise.de")
    10. ' TEST ONLY: do this in the navigated event
    11. While (WebBrowser1.ReadyState <> WebBrowserReadyState.Complete OrElse WebBrowser1.Document = Nothing) : Application.DoEvents() : End While
    12. ' set zoom
    13. WebBrowser1.ActiveXInstance.ExecWB(OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CObj(ZoomFactor), IntPtr.Zero)

    In diesem Fall ausnahmsweise mal Option Strict Off um spätes Binden zu ermöglichen.

    Keine Ahnung obs Dir weiterhilft, Have Fun .
    Hallo Kangaroo,
    danke, hat leider nicht geholfen.
    Das dumme ist, ich hatte den Script bereits. Nur mein Stick ist vor ein paar Tagen kaputt gegangen.
    Ich weise das es geht und über Google find ich die Seite nicht mehr.
    LG

    ;(

    Lacky100 schrieb:

    danke, hat leider nicht geholfen.
    Das ist so ziemlich der dümmste Spruch den man hier im Forum so findet. Ich übersetze sowas grundsätzlich mit: "Ich bin zu blöd meine Anforderungen zu beschreiben und zu faul das nur zu versuchen".

    Der Code tut was Du oben gefordert hast: wenn das aus irgendwelchen Gründen nicht zu Deinen Vorstellungen passt, so setzt Dich auf Deinen A***sch und beschreib die genauer.
    Hallo hallo hallo,

    muss da nicht gleich beleidigend werden!

    Ich Programmiere schon seid ca. 360 Stunen an den Programm.

    Da her ist Zeit etwas Relatives für mich.

    An hand des Bildes, sieht man da 7 kleinere WebBroswer vorhanden sind. Diese haben eine feste Größe.

    Wenn ich die Seiten (8 IP Cam) lade, wird der Seiteninhalt zwar geladen, aber man muss scrollen um das Bild der Kameras zusehen. In den WebBroswer1 (der größere) pass das. In den kleineren WebBroswer 2 bis 8 jedoch nicht.

    Ich suche eine Funktion die es ermöglicht, die den Inhalt einer Seite Automatisch richtig da stellt(so wie beschrieben).

    Siehe Foto zwei.

    pc-mosoft.de/ipcam_beispiel.jpg

    Ich danke dir dennoch die die Hilfestellung!

    LG
    Hallo,

    ich stelle euch den fertigen VB Script / Funktion zu Verfügung.

    VB.NET-Quellcode

    1. Public Class Form2
    2. Dim pswaHeight As Object
    3. Dim pswaWidth As Object
    4. Dim pswaHeightInt As Integer
    5. Dim pswaWidthInt As Integer
    6. Private Enum Exec
    7. OLECMDID_OPTICAL_ZOOM = 63
    8. End Enum
    9. Private Enum execOpt
    10. OLECMDEXECOPT_DODEFAULT = 0
    11. OLECMDEXECOPT_PROMPTUSER = 1
    12. OLECMDEXECOPT_DONTPROMPTUSER = 2
    13. OLECMDEXECOPT_SHOWHELP = 3
    14. End EnumPrivate Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    15. pswaHeight = Screen.PrimaryScreen.WorkingArea.HeightpswaWidth = Screen.PrimaryScreen.WorkingArea.Width
    16. pswaHeightInt = CInt(pswaHeight)pswaWidthInt = CInt(pswaWidth)
    17. Timer1.Interval = 1WebBrowser1.Navigate("www.google.com")
    18. End SubPrivate Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    19. Timer1.Start()
    20. End SubPrivate Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    21. If WebBrowser1.Width > Math.Round(pswaWidthInt / 5.6) And WebBrowser1.Width < Math.Round(pswaWidthInt / 2.97) Or WebBrowser1.Height > Math.Round(pswaHeightInt / 3.0) And WebBrowser1.Height < Math.Round(pswaHeightInt / 2.4) Then
    22. Try
    23. Dim Res As Object = Nothing
    24. Dim MyWeb As ObjectMyWeb = Me.WebBrowser1.ActiveXInstance
    25. MyWeb.ExecWB(Exec.OLECMDID_OPTICAL_ZOOM, execOpt.OLECMDEXECOPT_PROMPTUSER, 40, IntPtr.Zero)
    26. Catch ex As Exception
    27. MsgBox(ex.Message)
    28. End Try
    29. End If
    30. If WebBrowser1.Width > Math.Round(pswaWidthInt / 2.97) And WebBrowser1.Width < Math.Round(pswaWidthInt / 2.58) Or WebBrowser1.Height > Math.Round(pswaHeightInt / 2.4) And WebBrowser1.Height < Math.Round(pswaHeightInt / 2.13) Then
    31. Try
    32. Dim Res As Object = Nothing
    33. Dim MyWeb As ObjectMyWeb = Me.WebBrowser1.ActiveXInstance
    34. MyWeb.ExecWB(Exec.OLECMDID_OPTICAL_ZOOM, execOpt.OLECMDEXECOPT_PROMPTUSER, 50, IntPtr.Zero)
    35. Catch ex As Exception
    36. MsgBox(ex.Message)
    37. End Try
    38. End If
    39. If WebBrowser1.Width > Math.Round(pswaWidthInt / 2.58) And WebBrowser1.Width < Math.Round(pswaWidthInt / 2.23) Or WebBrowser1.Height > Math.Round(pswaHeightInt / 2.13) And WebBrowser1.Height < Math.Round(pswaHeightInt / 1.85) Then
    40. Try
    41. Dim Res As Object = Nothing
    42. Dim MyWeb As ObjectMyWeb = Me.WebBrowser1.ActiveXInstance
    43. MyWeb.ExecWB(Exec.OLECMDID_OPTICAL_ZOOM, execOpt.OLECMDEXECOPT_PROMPTUSER, 60, IntPtr.Zero)
    44. Catch ex As Exception
    45. MsgBox(ex.Message)
    46. End Try
    47. End If
    48. If WebBrowser1.Width > Math.Round(pswaWidthInt / 2.23) And WebBrowser1.Width < Math.Round(pswaWidthInt / 1.89) Or WebBrowser1.Height > Math.Round(pswaHeightInt / 1.85) And WebBrowser1.Height < Math.Round(pswaHeightInt / 1.64) Then
    49. Try
    50. Dim Res As Object = Nothing
    51. Dim MyWeb As ObjectMyWeb = Me.WebBrowser1.ActiveXInstance
    52. MyWeb.ExecWB(Exec.OLECMDID_OPTICAL_ZOOM, execOpt.OLECMDEXECOPT_PROMPTUSER, 70, IntPtr.Zero)
    53. Catch ex As Exception
    54. MsgBox(ex.Message)
    55. End Try
    56. End If
    57. If WebBrowser1.Width > Math.Round(pswaWidthInt / 1.89) And WebBrowser1.Width < Math.Round(pswaWidthInt / 1.6) Or WebBrowser1.Height > Math.Round(pswaHeightInt / 1.64) And WebBrowser1.Height < Math.Round(pswaHeightInt / 1.53) Then
    58. Try
    59. Dim Res As Object = Nothing
    60. Dim MyWeb As ObjectMyWeb = Me.WebBrowser1.ActiveXInstance
    61. MyWeb.ExecWB(Exec.OLECMDID_OPTICAL_ZOOM, execOpt.OLECMDEXECOPT_PROMPTUSER, 80, IntPtr.Zero)
    62. Catch ex As Exception
    63. MsgBox(ex.Message)
    64. End Try
    65. End If
    66. If WebBrowser1.Width > Math.Round(pswaWidthInt / 1.6) And WebBrowser1.Width < Math.Round(pswaWidthInt / 1.2) Or WebBrowser1.Height > Math.Round(pswaHeightInt / 1.53) And WebBrowser1.Height < Math.Round(pswaHeightInt / 1.16) Then
    67. Try
    68. Dim Res As Object = Nothing
    69. Dim MyWeb As ObjectMyWeb = Me.WebBrowser1.ActiveXInstance
    70. MyWeb.ExecWB(Exec.OLECMDID_OPTICAL_ZOOM, execOpt.OLECMDEXECOPT_PROMPTUSER, 90, IntPtr.Zero)
    71. Catch ex As Exception
    72. MsgBox(ex.Message)
    73. End Try
    74. End If
    75. If WebBrowser1.Width > Math.Round(pswaWidthInt / 1.2) AndAlso WebBrowser1.Height > Math.Round(pswaHeightInt / 1.16) Then
    76. Try
    77. Dim Res As Object = Nothing
    78. Dim MyWeb As ObjectMyWeb = Me.WebBrowser1.ActiveXInstance
    79. MyWeb.ExecWB(Exec.OLECMDID_OPTICAL_ZOOM, execOpt.OLECMDEXECOPT_PROMPTUSER, 100, IntPtr.Zero)
    80. Catch ex As Exception
    81. MsgBox(ex.Message)
    82. End Try
    83. End If
    84. End Sub
    85.  Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    86. WebBrowser1.Navigate(TextBox1.Text)End Sub
    87. End Class


    Stander Funktion mit scrollen:

    pc-mosoft.de/Bilder/falsch.bnp

    Automatische Funktion mit Anpassung, egal welche Größe euer Webbrowser hat:

    pc-mosoft.de/Bilder/richtig.bnp



    Viel Spaß

    :D

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Lacky100“ ()