Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: agus0 en 10 Diciembre 2010, 02:14 am



Título: [Ayuda] BorderStyle = 0-None y no pasa nada ¡!¡!
Publicado por: agus0 en 10 Diciembre 2010, 02:14 am
Holaa Estoy en un proyecto y puse el BoirderStyle en 0 - None y se fue el ControlBox Con el Caption en fin todo el borde de la ventana, pero Agregue un Menú para usae de PopUpMenu y Volvio a aparecer el ControlBox Con toda la Barra de Tareas y el Borde del Form aunque el BorderStyle este en 0... Saben que puedo hacer??

P.D= De mas esta decir que el PopUpMenu esta en Visible.False :S


Título: Re: [Ayuda] BorderStyle = 0-None y no pasa nada ¡!¡!
Publicado por: Psyke1 en 10 Diciembre 2010, 02:38 am
Prueba con esto:
Código
  1. Option Explicit
  2.  
  3. Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
  4. Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  5.  
  6. Private Const GWL_STYLE As Long = (-16)
  7. Private Const WS_CAPTION As Long = &HC00000
  8. Private Const WS_THICKFRAME  As Long = &H40000
  9.  
  10. Private Sub Form_Load()
  11.    ' Vivan las ranas! :D
  12.    SetWindowLong Me.hwnd, _
  13.                  GWL_STYLE, _
  14.                  GetWindowLong(Me.hwnd, GWL_STYLE) _
  15.                  And Not WS_CAPTION And Not WS_THICKFRAME
  16. End Sub

DoEvents! :P


Título: Re: [Ayuda] BorderStyle = 0-None y no pasa nada ¡!¡!
Publicado por: agus0 en 10 Diciembre 2010, 02:45 am
Esperaba Tu Respuesta Ranita !!

Gracias... Te Iva a decir que Falla un poco pero Solo en El IDE independientemente del IDE anda Bien =)


Muchas Gracias


Título: Re: [Ayuda] BorderStyle = 0-None y no pasa nada ¡!¡!
Publicado por: agus0 en 10 Diciembre 2010, 04:46 am
Al Final si Tiene UN Bug, Cuando Ejecutas el Programa te muestra el Marco Igual pero como si no tuviera el foco y si lo apretás es como si no estuviera, se ba cuando minimizas el programa y lo volvés a dar Foco :S


Título: Re: [Ayuda] BorderStyle = 0-None y no pasa nada ¡!¡!
Publicado por: Dessa en 10 Diciembre 2010, 05:01 am
Que raro, haber si funciona refrescando ?
(no probé con el popmenu)

 
Código:
 

Option Explicit
 
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
 Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Private Const GWL_STYLE As Long = (-16)
Private Const WS_CAPTION As Long = &HC00000
Private Const WS_THICKFRAME  As Long = &H40000
 
Private Sub Form_Load()
   ' Vivan las ranas! :D
   SetWindowLong Me.hwnd, _
                 GWL_STYLE, _
                 GetWindowLong(Me.hwnd, GWL_STYLE) _
                 And Not WS_CAPTION And Not WS_THICKFRAME
                 
       Call SetWindowPos(Me.hwnd, &H0, &H0, &H0, &H0, &H0, &H27)
             
End Sub




Título: Re: [Ayuda] BorderStyle = 0-None y no pasa nada ¡!¡!
Publicado por: agus0 en 10 Diciembre 2010, 05:11 am
No. Ya probé Refrescando...


Título: Re: [Ayuda] BorderStyle = 0-None y no pasa nada ¡!¡!
Publicado por: Psyke1 en 10 Diciembre 2010, 09:07 am
.
Yo uso WinXP y creo que me iva bien... :-\

Respuesta definitiva que soluciona el tema :  :xD
Código
  1. Option Explicit
  2.  
  3. Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
  4. Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  5.  
  6. Private Const GWL_STYLE                 As Long = (-16)
  7. Private Const WS_CAPTION                As Long = &HC00000
  8.  
  9. Private Function BorderStyleNone(ByVal bValue As Boolean) As Long
  10. Dim lStyle                              As Long
  11.    lStyle = GetWindowLong(Me.hWnd, GWL_STYLE)
  12.    If bValue Then
  13.        lStyle = lStyle Xor WS_CAPTION
  14.    Else
  15.        lStyle = lStyle Or WS_CAPTION
  16.    End If
  17.    BorderStyleNone = SetWindowLong (Me.hWnd, GWL_STYLE, lStyle)
  18. End Function
  19.  
  20. Private Sub Form_Activate()
  21.    Call BorderStyleNone(True)
  22. End Sub

DoEvents! :P


Título: Re: [Ayuda] BorderStyle = 0-None y no pasa nada ¡!¡!
Publicado por: raul338 en 10 Diciembre 2010, 11:04 am
Y si pones el menu principal como invisible? :P (o sea que el menu tenga esta forma)

MenuPopup: Visible -> False
···Opcion 1
···Opcion 2

En tiempo de diseño SIEMPRE se va a ver el borde con titulo, una vez que presionas F5 ya no se deberia ver :)


Título: Re: [Ayuda] BorderStyle = 0-None y no pasa nada ¡!¡!
Publicado por: agus0 en 10 Diciembre 2010, 13:58 pm
Y si pones el menu principal como invisible? :P (o sea que el menu tenga esta forma)

MenuPopup: Visible -> False
···Opcion 1
···Opcion 2

En tiempo de diseño SIEMPRE se va a ver el borde con titulo, una vez que presionas F5 ya no se deberia ver :)

Eso ya lo se ¬¬ Se ve incluso si lo Compilo y lo pruebo Fuera del IDE. Y es así precisamente como tengo armado el MenuPopUP


Título: Re: [Ayuda] BorderStyle = 0-None y no pasa nada ¡!¡!
Publicado por: raul338 en 10 Diciembre 2010, 14:10 pm
Bueno bueno che, era una aclaración, no todos nacen sabiendo :xD

Aunque la respuesta de PsYkE1 (a.k.a Mr. Frog, cambio su nick para que el FBI no lo encuentre :xD :xD) funciona, lo probe aunque esta linea

Código
  1. Call SetWindowPos(Me.hWnd, 0&, 0&, 0&, 0&, 0&, SWP_FlAGS)
es completamente innecesaria, esa linea pone el form encima de todo y no es lo que se pide :rolleyes:

Saludos!


Título: Re: [Ayuda] BorderStyle = 0-None y no pasa nada ¡!¡!
Publicado por: agus0 en 10 Diciembre 2010, 14:13 pm
Bueno bueno che, era una aclaración, no todos nacen sabiendo :xD

Aunque la respuesta de PsYkE1 (a.k.a Mr. Frog, cambio su nick para que el FBI no lo encuentre :xD :xD) funciona, lo probe aunque esta linea

Código
  1. Call SetWindowPos(Me.hWnd, 0&, 0&, 0&, 0&, 0&, SWP_FlAGS)
es completamente innecesaria, esa linea pone el form encima de todo y no es lo que se pide :rolleyes:

Saludos!

Si es verdad, yo en Mi source la saque la Linea esa...


Título: [OFF TOPIC]
Publicado por: 79137913 en 10 Diciembre 2010, 14:59 pm
HOLA!!!
[OFF TOPIC]

PsYkE1 (a.k.a Mr. Frog, cambio su nick para que el FBI no lo encuentre :xD :xD)

JAJAJA lol  ;-) ;-) ;-) ;-) ;-)

GRACIAS POR LEER!!!


Título: Re: [Ayuda] BorderStyle = 0-None y no pasa nada ¡!¡!
Publicado por: Psyke1 en 10 Diciembre 2010, 15:08 pm
Ya verás Raul!!  :(  :laugh:
Tenia la funcion hecha dde otro proyecto, de ahi lo de SetWindowsPos. :silbar:

Ya edité el post... :P

DoEvents! :P


Título: Re: [Ayuda] BorderStyle = 0-None y no pasa nada ¡!¡!
Publicado por: agus0 en 10 Diciembre 2010, 15:20 pm
osea, anda igual que el que pusiste Inicialmente... Muestra el Marco hasta que lo minimizas y lo Volvés a Maximizar :S


Título: Re: [Ayuda] BorderStyle = 0-None y no pasa nada ¡!¡!
Publicado por: Psyke1 en 10 Diciembre 2010, 15:57 pm
.
Sorry :silbar:
Lo actualicé... de nuevo.  ;)
Mira a ver si así funciona... :rolleyes:

DoEvents! :P


Título: Re: [Ayuda] BorderStyle = 0-None y no pasa nada ¡!¡!
Publicado por: agus0 en 10 Diciembre 2010, 16:28 pm
.
Sorry :silbar:
Lo actualicé... de nuevo.  ;)
Mira a ver si así funciona... :rolleyes:

DoEvents! :P

Osea funciona Como los demás Hasta que No Minimizas no se va el Borde...:/ sera mi pc? Cuando le Puse BorderStyle0 A un Form "Limpio" Andaba Perfecto sin usar la API.

Lee El MP que te mande Mr. Frog ;)


Título: Re: [Ayuda] BorderStyle = 0-None y no pasa nada ¡!¡!
Publicado por: Dessa en 10 Diciembre 2010, 16:31 pm
EDITO

Yo entendí que lo que se pedia era esto:

http://www.megaupload.com/?d=TE6EF8Q0 (http://www.megaupload.com/?d=TE6EF8Q0)

La linea:

Call SetWindowPos(Me.hwnd, &H0, &H0, &H0, &H0, &H0, &H27)

No es necesaria en WXP-SP3, pero sí por Ej en W-Millenium, tal ves en tambien sea sea necesaria wn WXP-SP1 o SP2 o Sin SP


Cambio & fuera











Título: Re: [Ayuda] BorderStyle = 0-None y no pasa nada ¡!¡!
Publicado por: agus0 en 10 Diciembre 2010, 20:59 pm
EDITO

Yo entendí que lo que se pedia era esto:

http://www.megaupload.com/?d=TE6EF8Q0 (http://www.megaupload.com/?d=TE6EF8Q0)

La linea:

Call SetWindowPos(Me.hwnd, &H0, &H0, &H0, &H0, &H0, &H27)

No es necesaria en WXP-SP3, pero sí por Ej en W-Millenium, tal ves en tambien sea sea necesaria wn WXP-SP1 o SP2 o Sin SP

Cambio & fuera

Si Bueno Yo Lo Uso en W$7 Y el Source que Subiste es lo mismo que tengo yo... y Falla


Título: Re: [Ayuda] BorderStyle = 0-None y no pasa nada ¡!¡!
Publicado por: Psyke1 en 10 Diciembre 2010, 21:34 pm
Revisa el codigo, seguro que solo copiaste mi funcion...
Fijate en esto:
Citar
Código
  1. Private Sub Form_Activate()
  2.    Call BorderStyleNone(True)
  3. End Sub
Cada vez que se activa la ventana quita el borde, de este modo si se minimiza al activar la ventana vuelves a quitarlo.

LINK ACTUALIZADO

Un ejemplo:
http://www.mediafire.com/?vr444098o7ndn02

DoEvents! :P


Título: Re: [Ayuda] BorderStyle = 0-None y no pasa nada ¡!¡!
Publicado por: agus0 en 11 Diciembre 2010, 02:42 am
Noo Sigue Fallando  :-( No tiene Arreglo


Título: Re: [Ayuda] BorderStyle = 0-None y no pasa nada ¡!¡!
Publicado por: BlackZeroX en 13 Diciembre 2010, 03:46 am
.
Quiero creer que es por el Theme Aero en W$7 en los forms, busca un codigo que publico Skyweb07/09.

Dulces Lunas!¡.


Título: Re: [Ayuda] BorderStyle = 0-None y no pasa nada ¡!¡!
Publicado por: agus0 en 13 Diciembre 2010, 03:53 am
.
Quiero creer que es por el Theme Aero en W$7 en los forms, busca un codigo que publico Skyweb07/09.

Dulces Lunas!¡.

No Black, Uso Windows Clásico Yo. No utilizo Aero, Ni windows 7, USO EL CLÁSICO de WIN 2000 Jajaja