Autor Tema: Quitar Maximizar de un MDIFOR  (Leído 14986 veces)

0 Usuarios y 1 Visitante están viendo este tema.

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:Quitar Maximizar de un MDIFOR
« Respuesta #15 en: Junio 13, 2011, 09:54:43 am »
Mira vos, no sabia eso, gracias seba por compartir :P

Sebas y usar el setparent?? (para evitar el midform) tendria algun problema'?? aparte de un poquito mas de chamba, algun inconveniente podre tener??? o debo cuidar algo??
Nunca lo probe yo, pero yo creo, CREO, que puede haber problemas con el Minimizar del formulario que queda hijo. Probalo, pero yo tengo ese presentimiento xD

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Quitar Maximizar de un MDIFOR
« Respuesta #16 en: Junio 13, 2011, 12:51:24 pm »
Si ese es el único problema que pudiera haber, entonces no hay problema pq yo nunca minimizo los formularios hijos, nunca doy esa opción al usuario y en los formularios hijos quito la Barra de Titulos, ni siquiera con el MDI. Chevere.

Me encuentras en YAcosta.com

ADONAIRAFA

  • Gigabyte
  • ****
  • Mensajes: 291
  • Reputación: +37/-1
  • Que bien se siente al terminar un programa !!!
    • Ver Perfil
Re:Quitar Maximizar de un MDIFOR
« Respuesta #17 en: Junio 14, 2011, 02:22:18 am »
 Saludos a Todos  8)!!!

YvanB, no tendrías problema alguno con la API SetParent. En mi caso, una aplicación que estaba desarrollando, la estaba iniciando con el condenado MDIForm de VB 6.0, hasta que me harté de que ese dichoso tipo de form que es muy rígido y casi no se puede hacer un co... con él.
Fue entonces que le planteé el divorcio con separación de bienes (je, je !!!) ;D a ese MDI. Personalicé mis forms utilizando el SetParent... aparte de que suprimí la barra de título quitando cualquier tipo de botones, cree una barra personalizada (para simular una barra de titulo) con un "botón X" (eso sí, lo que no gasté en código, me lo tuve que gastar creando el fondo para que la barra no se viera así como "insípida" por decirlo así, y dibujar también un botón X como si fuese un pintor !!! -me quedó presentable +/- experimentando claro.) La barra la diseñé en un Control ActiveX, y le agregué las API's SendMessage y ReleaseCapture, debido a que como todos sabemos que cuando a un form se le suprime la barra de título, este no se puede mover. Con las API's que nombré se resuelve ese detalle. La barra me quedó 'decente', no es una cosa que se diga: Microsoft, Lynux, se jod... ya no sigan que llegué yo !!! (je, je !!!) no claro que no, pero se deja ver.
Eso sí, así como usas el SetParent, hay que liberar el form al cerrarlo, porque aunque se descargue permanece la referencia en memoria.

Espero que esto pueda servirles de algo !!!

Saludos.
Manuel F. Borrego S.
Barcelona, Venezuela.
Hay dos tipos de personas: Los que siguen un camino... y los que hacen camino al avanzar !!!

ADONAIRAFA

  • Gigabyte
  • ****
  • Mensajes: 291
  • Reputación: +37/-1
  • Que bien se siente al terminar un programa !!!
    • Ver Perfil
Re:Quitar Maximizar de un MDIFOR
« Respuesta #18 en: Junio 14, 2011, 02:41:14 am »
Ah !!! olvidé un pequeño y mísero "detallito" ::)

Mi estimado YvanB, te habías quejado un poco, que con el VB .Net se hacía lo mismo que en VB 6.0 pero con más código... Pareciera ser cierto, por las primeras impresiones.
Pero que tal, En el VB 9.0 (VB 2008) escoges el Form que quieras, y en la propiedad IsMdiContainer la colocas en True, y listo ya tienes un flamante MDIForm, ah pero todavía hay más ;D...!!! si ud. llama en los próximos 10 minutos le daremos absolutamente gratis las propiedades MaximizeBox y MinimizeBox, las cuales al usted colocarlas en False... listo !!! como por arte de magia (si del mago Microsoft, claro) tiene ud un espléndido MDIForm con solo el Botón X  !!! ahhhh y se ahorra toneladas de código, que solo le harán cambiar sus lentes y gastar su teclado !!! (Je, Je !!!)
Y de paso, puedes hacer prácticamente lo que te de la gana con el MDIForm (muchisimo más que con el del VB 6.0)
Así que llamé ya al 0800-MIGRATEAVBNET-YA y recibirás todas estas ofertas !!!

Je, Je, Je Toda una broma Hermano, y para todos ustedes en este foro !!! ah eso sí, con respecto a lo del MDI en VB 2008, es cierto !!!


Saludos.
Manuel F. Borrego S. 8)
Barcelona, Venezuela
Hay dos tipos de personas: Los que siguen un camino... y los que hacen camino al avanzar !!!

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Quitar Maximizar de un MDIFOR
« Respuesta #19 en: Junio 14, 2011, 03:13:19 am »
Bien Dr ADONAIRAFA, gracias por la recomendacion sobre el .Net.
Y sobre lo del SetParent gracias también y solo pedirte una consulta. Pa no chuparme la memoria de la maquina del cliente, lo mejor es descargar de memoria, alli como seria? asi?

Set Fomulario = Nothing

Con eso es sufi?? gracias
Me encuentras en YAcosta.com

ADONAIRAFA

  • Gigabyte
  • ****
  • Mensajes: 291
  • Reputación: +37/-1
  • Que bien se siente al terminar un programa !!!
    • Ver Perfil
Re:Quitar Maximizar de un MDIFOR
« Respuesta #20 en: Junio 14, 2011, 07:58:56 am »
Saludos Compadre !!!

Lo anterior era bromeando  ;D(porque pa' lo de Dr. me falta demasiado, uds son prácticamente unos gurús en este negocio del VB 6.0 :o), mire que yo soy su "padawan" en la gran Orden Firebird (je, je !!!)
Con respecto a lo que me pediste, sencillamente justo antes de la descarga (Form_Unload) colocas:

Call SetParent(Frm.hwnd, 0)        '// el parámetro (handle) del Form padre, lo llevas 0. Ahí lo liberas...
y despues:
Set Form = Nothing          '// (agregas lo que habías propuesto)

y listo.
Espero te sirva !!! (y para mi es satisfactorio poderles ser útil en algo a los maestros de este foro, porque en verdad he aprendido mucho de uds !!!)

Saludos.
Manuel F. Borrego S. 8)


PD: Por cierto, estuve curioseando un poco acerca de la promo que
       haces de tu software Quentas, y se ve fenomenal !!! Enhorabuena !!!
Hay dos tipos de personas: Los que siguen un camino... y los que hacen camino al avanzar !!!

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Quitar Maximizar de un MDIFOR
« Respuesta #21 en: Junio 14, 2011, 07:37:17 pm »
No creas a mi también me falta muchísimo.

Voy a ver sobre esta linea: Call SetParent(Frm.hwnd, 0) 

P.D: Gracias por lo del soft, allí le vamos dando para ir mejorándolo. Ahora estoy trabajando una nueva versión del mismo q dirigiré a otro sector, veremos que tal va.

Saludos
Me encuentras en YAcosta.com

ADONAIRAFA

  • Gigabyte
  • ****
  • Mensajes: 291
  • Reputación: +37/-1
  • Que bien se siente al terminar un programa !!!
    • Ver Perfil
Un pequeño olvido...
« Respuesta #22 en: Junio 14, 2011, 08:33:50 pm »

Voy a ver sobre esta linea: Call SetParent(Frm.hwnd, 0) 


Saludos compadre !!!

Un detalle: en el parámetro Frm.hwnd, "Frm" representa el nombre del Form 'hijo', debí haber puesto: Form1.hwnd, aclarando por si acaso no se entiende bien.
Un olvido lo tiene cualquiera ::), sobre todo en mi país (Venezuela) donde tenemos como presidente al papá de Humala :o... el grandísimo y nunca bien ponderado del desgraciado, CDSM y HP (no Hewlett Packard !!! Je, Je, Je !!!) del Chávez  :P!!!
Tienes que comprender !!! Je, Je !!!

Saludos
Manuel F. Borrego S.
Barcelona, Venezuela.
Hay dos tipos de personas: Los que siguen un camino... y los que hacen camino al avanzar !!!

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Quitar Maximizar de un MDIFOR
« Respuesta #23 en: Junio 14, 2011, 08:37:42 pm »
jajaja, ok, comprendido doc. Saludos
Me encuentras en YAcosta.com

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Quitar Maximizar de un MDIFOR
« Respuesta #24 en: Junio 15, 2011, 02:23:09 am »
Cuando hago esto:
Call SetParent(Form1.hwnd, 0)

Me saca el formulario del picture. Entonces, veo que tendría que hacer esto?
Call SetParent(Form1.hwnd, 0)
Unload Form1
Set Form1 = Nothing

Pero al hacer eso me da un ligero parpadeo al irse, porque lo saca y lo descarga. Esta bien si trabajo solo asi?
Unload Form1
Set Form1 = Nothing

Gracias
Me encuentras en YAcosta.com

ADONAIRAFA

  • Gigabyte
  • ****
  • Mensajes: 291
  • Reputación: +37/-1
  • Que bien se siente al terminar un programa !!!
    • Ver Perfil
Re:Quitar Maximizar de un MDIFOR
« Respuesta #25 en: Junio 16, 2011, 03:57:22 pm »
Tienes razón, pensé que era mi PC, pero el detalle ese del parpadeo, no he podido quitárselo, aún jugando con las líneas de instrucción que te suministré :-[ !!!

Manuel F. Borrego S.
Barcelona, Venezuela.
Hay dos tipos de personas: Los que siguen un camino... y los que hacen camino al avanzar !!!