Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: WHK en 9 Octubre 2009, 04:45 AM

Título: como hacer webbrowser sin bordes?
Publicado por: WHK en 9 Octubre 2009, 04:45 AM
Hola, estaba utilizando el control webbroser para crear una presentación de imagenes redimensionadas pero el borde del control me descompone el resto del diseño del programa.
Como puedo darle otro borde? color o simplemente sacarlo?
Título: Re: como hacer webbrowser sin bordes?
Publicado por: Dessa en 9 Octubre 2009, 05:14 AM
Si metes el WebBrowser dentro de un picture y le recortas los extremos ?


Private Sub Form_Load()
  Picture1.BorderStyle = 0
  WebBrowser1.Left = -50
  WebBrowser1.Top = -50
  WebBrowser1.Width = Picture1.Width + 50
  WebBrowser1.Height = Picture1.Height + 50
End Sub


El left y el top del WebBrowser1 son regidos por el Picture1 por estar contenido por el mismo

S2

Título: Re: como hacer webbrowser sin bordes?
Publicado por: WHK en 9 Octubre 2009, 05:16 AM
 :P incluso habia pensado en ponerlo dentro de un frame para que quedara mas bonito pero pensaba que habia algo nativo
Título: Re: como hacer webbrowser sin bordes?
Publicado por: Dessa en 9 Octubre 2009, 05:33 AM
si no encontrás alguna funcion que lo haga podes  usar un Shape1.BorderWidth = 5 de borde

Título: Re: como hacer webbrowser sin bordes?
Publicado por: LeandroA en 9 Octubre 2009, 20:48 PM
Hola lo que podes hacer tambien es crear una region y eliminar el borde y despues si le podes poner un shape o lo que quieras.

tene en cuenta que si le vas a cambiar el tamaño en tiempo de ejecucion tenes que aplicar nuevamente la region con el nuevo tamaño.


Option Explicit
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function CreateRectRgn Lib "gdi32.dll" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32.dll" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long


Dim hBrowser As Long

Private Sub Form_Load()
Dim hRgn As Long

WebBrowser1.Navigate "www.google.com"


hBrowser = FindWindowEx(Me.hWnd, ByVal 0&, "Shell Embedding", vbNullString)
hRgn = CreateRectRgn(2, 2, (WebBrowser1.Width / 15) - 2, (WebBrowser1.Height / 15) - 2)
SetWindowRgn hBrowser, hRgn, True

End Sub


PD: Te es nesesario realmente utilizar un webbrowser para hacer una presentación de fotos???

Saludos.
Título: Re: como hacer webbrowser sin bordes?
Publicado por: WHK en 9 Octubre 2009, 21:22 PM
hola, si es un tanto necesario porque se muestra en un frame rectangular en la parte superior en forma de presentación y utilizo ‭‬javascript para darle mas diseño aunque ya habia tratado de usar un listview con imagenes en miniatura pero se veian mal porque se cargaban en 16 colores

(http://img79.imageshack.us/img79/734/dibujode.png)
asi va quedando, el problema es que a partir desde las 300 imagenes ya comienza a frizarse xD pero veré como lo arreglo.

Lo del frame tampoco me sirvió asi que lo puse dentro de un picturebox como me recomendaron para poder eliminar los bordes

el html lo hize de diseño con el mismo color de fondo que el formulario, para simular que forma parte de uno solo