Autor
|
Tema: [Ayuda] Form (Leído 2,747 veces)
|
jorgelin95
Desconectado
Mensajes: 38
|
Cómo hago para que el Form no se puede modificar el tamaño, es decir que no se expansible Gracias
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
Cambia el BorderStyle por Fixed Dialog
|
|
|
En línea
|
|
|
|
Elemental Code
Desconectado
Mensajes: 622
Im beyond the system
|
ahora si necesitas que sea maximizable pero que no lo puedas cambiar de tamaño en el evento Form rezise pones algo asi on error resume next me.height = X me.width = Y
X e Y son el alto y ancho respectivamente
|
|
|
En línea
|
I CODE FOR $$$ Programo por $$$ Hago tareas, trabajos para la facultad, lo que sea en VB6.0 Mis programas
|
|
|
Dessa
Desconectado
Mensajes: 624
|
En Diseño es como te dice raul y si necesitas cambiar en ejecución se puede usar SetWindowLong (sirve tambien para formularios sin borde) 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 Sub Form_Load() Command1.Caption = "FIXED" Command2.Caption = "SIZEABLE" End Sub
Private Sub Command1_Click() Call SetWindowLong(Me.hwnd, &HFFF0, GetWindowLong(Me.hwnd, &HFFF0) And Not &H40000) Call SetWindowPos(Me.hwnd, &H0, &H0, &H0, &H0, &H0, &H20 Or &H2 Or &H4 Or &H1) End Sub
Private Sub Command2_Click() Call SetWindowLong(Me.hwnd, &HFFF0, GetWindowLong(Me.hwnd, &HFFF0) Or &H40000) Call SetWindowPos(Me.hwnd, &H0, &H0, &H0, &H0, &H0, &H20 Or &H2 Or &H4 Or &H1) End Sub
|
|
|
En línea
|
Adrian Desanti
|
|
|
Psyke1
Wiki
Desconectado
Mensajes: 1.089
|
Dessa porque no utilizas constantes? Creo que quedaria mas claro DoEvents!
|
|
|
En línea
|
|
|
|
Dessa
Desconectado
Mensajes: 624
|
Ahí va con constantes, Psyke. 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 = (-16) Private Const WS_CAPTION = &HC00000 Private Const WS_SIZEBOX = &H40000
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 SWP_FRAMECHANGED = &H20 Private Const SWP_NOMOVE = &H2 Private Const SWP_NOZORDER = &H4 Private Const SWP_NOSIZE = &H1
Private Const SWP_REFRESH = SWP_NOSIZE Or SWP_NOMOVE Or SWP_NOZORDER Or SWP_FRAMECHANGED
Private Sub Form_Load() Command1.Caption = "FIXED" Command2.Caption = "SIZEABLE" End Sub
Private Sub Command1_Click() Dim lngstylo As Long lngstylo = GetWindowLong(Me.hwnd, GWL_STYLE) And Not WS_SIZEBOX Call SetWindowLong(Me.hwnd, GWL_STYLE, lngstylo) Call SetWindowPos(Me.hwnd, &H0, &H0, &H0, &H0, &H0, SWP_REFRESH) End Sub
Private Sub Command2_Click() Dim lngstylo As Long lngstylo = GetWindowLong(Me.hwnd, GWL_STYLE) Or WS_SIZEBOX Call SetWindowLong(Me.hwnd, GWL_STYLE, lngstylo) Call SetWindowPos(Me.hwnd, &H0, &H0, &H0, &H0, &H0, SWP_REFRESH) End Sub
|
|
|
En línea
|
Adrian Desanti
|
|
|
seba123neo
|
ahora si necesitas que sea maximizable pero que no lo puedas cambiar de tamaño en el evento Form rezise pones algo asi on error resume next me.height = X me.width = Y
X e Y son el alto y ancho respectivamente con ese codigo habria un horrible flickering del formulario, es mejor hacer un Hook a WM_GETMINMAXINFOsaludos.
|
|
|
En línea
|
|
|
|
|
|