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
Prueba con esto:
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 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
End Sub
DoEvents! :P
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
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
Que raro, haber si funciona refrescando ?
(no probé con el popmenu)
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
No. Ya probé Refrescando...
.
Yo uso WinXP y creo que me iva bien... :-\
Respuesta definitiva que soluciona el tema : :xD
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 Const GWL_STYLE As Long = (-16)
Private Const WS_CAPTION As Long = &HC00000
Private Function BorderStyleNone(ByVal bValue As Boolean) As Long
Dim lStyle As Long
lStyle = GetWindowLong(Me.hWnd, GWL_STYLE)
If bValue Then
lStyle = lStyle Xor WS_CAPTION
Else
lStyle = lStyle Or WS_CAPTION
End If
BorderStyleNone = SetWindowLong (Me.hWnd, GWL_STYLE, lStyle)
End Function
Private Sub Form_Activate()
Call BorderStyleNone(True)
End Sub
DoEvents! :P
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 :)
Cita de: 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 :)
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
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
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!
Cita de: 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
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...
HOLA!!!
[OFF TOPIC]
Cita de: raul338 en 10 Diciembre 2010, 14:10 PM
PsYkE1 (a.k.a Mr. Frog, cambio su nick para que el FBI no lo encuentre :xD :xD)
JAJAJA lol ;-) ;-) ;-) ;-) ;-)
GRACIAS POR LEER!!!
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
osea, anda igual que el que pusiste Inicialmente... Muestra el Marco hasta que lo minimizas y lo Volvés a Maximizar :S
.
Sorry :silbar:
Lo actualicé... de nuevo. ;)
Mira a ver si así funciona... :rolleyes:
DoEvents! :P
Cita de: Mr. Frog © en 10 Diciembre 2010, 15:57 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 ;)
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
Cita de: 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
Si Bueno Yo Lo Uso en W$7 Y el Source que Subiste es lo mismo que tengo yo... y Falla
Revisa el codigo, seguro que solo copiaste mi funcion...
Fijate en esto:
Citar
Private Sub Form_Activate()
Call BorderStyleNone(True)
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 ACTUALIZADOUn ejemplo:
http://www.mediafire.com/?vr444098o7ndn02
DoEvents! :P
Noo Sigue Fallando :-( No tiene Arreglo
.
Quiero creer que es por el Theme Aero en W$7 en los forms, busca un codigo que publico Skyweb07/09.
Dulces Lunas!¡.
Cita de: 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!¡.
No Black, Uso Windows Clásico Yo. No utilizo Aero, Ni windows 7, USO EL CLÁSICO de WIN 2000 Jajaja