border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

  #1 (permalink)  
Antiguo 23-11-2005, 15:34:05
Gran Participación en el Foro
 
Registrado: ago 2004
Ubicación: Buenos Aires - Argentina
Posts: 358
dares_ Valoración +2
Contactar con dares_ a través de MSN
Predeterminado Adapatar rutina para q funione con CHILDS

Tengo un proyecto en Visual Basic 6 con un formulario MDI y los respectivos child y alguno q son formularios comunes...
El tema es q quiero sacar la x q cierra el formulario para q si o si tengan q hacer click en el boton salir para irse del mismo, ya q si apretas la x el formulario simpre se cierra independientemente de las validaciones q pueda poner en el form_unload...

Hecha la introducción paso a explicar...la rutina ya me la pasaron...el tema es q la rutina funciona en el formulario MDI y no funciona en los CHILD...como puedo adartar la rutina para q funcione de la misma manera en los formularios q dependen del MDI principal (inicio) es decir
los llamados CHILD o hijos... ¿?
La probe y lo q sucede es q no me carga el formulario...se ve el MDI y no me muestra el formulario al cual entro...

Por las dudas y para evitar confuciones repito la rutina q quiero adaptar para q funcione en los formularios CHILD dependientes de un MDI principal...

Option Explicit

Private Const WS_MINIMIZEBOX = &H20000
Private Const WS_MAXIMIZEBOX = &H10000
Private Const GWL_STYLE = (-16)

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 GetWindowLong Lib "user32" Alias _
"GetWindowLongA" (ByVal hwnd As Long, _
ByVal nIndex As Long) As Long
Private Declare Function GetSystemMenu Lib "user32" _
(ByVal hwnd As Long, ByVal bRevert As Long) As Long

Private Declare Function RemoveMenu Lib "user32" _
(ByVal hMenu As Long, ByVal nPosition As Long, _
ByVal wFlags As Long) As Long

Private Const MF_BYPOSITION = &H400&

Private Sub DesactivarMenu(frm As Form)
Dim hSysmenu As Long
hSysmenu = GetSystemMenu(frm.hwnd, 0)
RemoveMenu hSysmenu, 6, MF_BYPOSITION
RemoveMenu hSysmenu, 5, MF_BYPOSITION
RemoveMenu hSysmenu, 4, MF_BYPOSITION
RemoveMenu hSysmenu, 2, MF_BYPOSITION
RemoveMenu hSysmenu, 1, MF_BYPOSITION
End Sub

Private Sub MDIForm_Load()
Dim lRet As Long
lRet = GetWindowLong(Me.hwnd, GWL_STYLE)
lRet = lRet And Not (WS_MAXIMIZEBOX)
lRet = SetWindowLong(Me.hwnd, GWL_STYLE, lRet)
' Desactiva las opciones del menú del MDI (esq.superior izq)
DesactivarMenu Me
End Sub

Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)
' para evitar cerrar el form si se pulsa Alt-F4
' así no se cierra nunca el form
If UnloadMode = 0 Then Cancel = True
End Sub

Private Sub MenuSalir_Click()
End
End Sub
Responder Con Cita
  #2 (permalink)  
Antiguo 26-11-2005, 15:37:31
Buena Participación en el Foro
 
Registrado: sep 2005
Ubicación: Córdoba
Posts: 33
Guido Valoración +2
Predeterminado

Verdad que no me puse a probar el ejemplo que das, pero se podría resolver si en el click del botón cerrar pones una variable booleana que indique que se apretó el botón, y en el queryunload chequeas el valor de esa variable. Si es falsa podes impedir el cierre desde alli.


en fin, hay que adaptarse a los caprichos de vb
espero te sirva
saludos
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
Rutina para calcular el determinante de una matriz, ayuda! 6clara6 Visual Basic 6.00 1 21-03-2008 21:09:07
Una rutina para varios formularios hijos... jcpinto Visual Basic.NET 2003 & 2005 0 05-01-2008 16:39:20
MsgBox sobre rutina en ejecución y se cierre al culminar.... lenins flores Visual Basic 6.00 1 15-10-2006 12:43:36
rutina con el nº bancario electronicamiajadas Visual Basic 6.00 11 17-09-2004 01:00:00
ayuda cristal report 4.5 para poder bajar enviar porfa para MAURICIOG Crystal Reports 0 17-09-2004 01:00:00


La franja horaria es GMT. Ahora son las 22:34:02.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right