Autor
|
Tema: [Ayuda] BorderStyle = 0-None y no pasa nada ¡!¡! (Leído 5,575 veces)
|
agus0
Desconectado
Mensajes: 360
|
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
|
|
« Última modificación: 10 Diciembre 2010, 04:45 am por agus0 »
|
En línea
|
|
|
|
Psyke1
Wiki
Desconectado
Mensajes: 1.089
|
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!
|
|
|
En línea
|
|
|
|
agus0
Desconectado
Mensajes: 360
|
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
|
|
« Última modificación: 10 Diciembre 2010, 04:48 am por agus0 »
|
En línea
|
|
|
|
agus0
Desconectado
Mensajes: 360
|
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
|
|
|
En línea
|
|
|
|
Dessa
Desconectado
Mensajes: 624
|
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
|
|
|
En línea
|
Adrian Desanti
|
|
|
agus0
Desconectado
Mensajes: 360
|
No. Ya probé Refrescando...
|
|
|
En línea
|
|
|
|
Psyke1
Wiki
Desconectado
Mensajes: 1.089
|
. Yo uso WinXP y creo que me iva bien... Respuesta definitiva que soluciona el tema : 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!
|
|
« Última modificación: 10 Diciembre 2010, 16:01 pm por Mr. Frog © »
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
Y si pones el menu principal como invisible? (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
|
|
« Última modificación: 10 Diciembre 2010, 11:06 am por raul338 »
|
En línea
|
|
|
|
agus0
Desconectado
Mensajes: 360
|
Y si pones el menu principal como invisible? (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
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
Bueno bueno che, era una aclaración, no todos nacen sabiendo Aunque la respuesta de PsYkE1 (a.k.a Mr. Frog, cambio su nick para que el FBI no lo encuentre ) 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 Saludos!
|
|
|
En línea
|
|
|
|
|
|