Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-10-2008
emeceuy emeceuy is offline
Miembro
 
Registrado: jun 2003
Ubicación: Uruguay
Posts: 122
Poder: 21
emeceuy Va por buen camino
minimizar en XP con Delphi 6

Hola estimados ! bueno, he buscado pero no he encontrado situación similar, y aunque es una bobada de facil, no se si tiene solución...

Utilizando delphi 6 y windows xp, corriendo una aplicación (o sea que está en la barra de tareas), al presionar el botón de minimizar de la barra de arriba de la aplicación, el programa se minimiza, pero no se queda solamente en la barra de tareas, sino que queda una barrita chiquita arriba de la barra de tareas con los botones de restaurar y cerrar. En cambio, si se presiona la aplicación en la barra de tareas o si se presiona win+D la aplicación se minimiza normalmente (o sea, queda solamente en la barra de tareas).

Espero haber sido claro jeje... muchas gracias desde ya !!! salu2
__________________
Marcelo C.
Responder Con Cita
  #2  
Antiguo 30-10-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Pues estoy probando con Delphi5 y XP y funciona perfectamente.
Incluso si coloco un botón que ponga:

Código Delphi [-]
Application.Minimize;

También funciona OK.
¿Estás haciendo algo raro para visualizar los formularios?
¿Algun código en el OnShow, DoShow,...?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 30-10-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
No estoy seguro, pero intentando ayudar...

Quizás sin darte cuenta estás usando bibliotecas para aplicaciones CLX, verifica que no estás usando por ejemplo las unidades: QDialogs, QControls, etc, deberías estar usando Dialogs, Controls, que éstas si son la VCL.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 30-10-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Lo que sucede es que la ventana que ha minimizado es una ventana secundaria, no la principal. Por ello cuando minimiza la aplicación (estando minimizada esta ventana secundaria), se ve al costado inferior izquierdo una "barra" con los botones minimizar y maximizar.

Es el comportamiento esperado y por defecto que se ve en aplicaciones SDI (al menos que yo sepa).

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #5  
Antiguo 30-10-2008
emeceuy emeceuy is offline
Miembro
 
Registrado: jun 2003
Ubicación: Uruguay
Posts: 122
Poder: 21
emeceuy Va por buen camino
Muchas gracias a todos por las respuestas ! Efectivamente es como dice Delphius, muchas gracias, pero no se como solucionarlo !
Les comento, uso una especie de splash screen, y el source del programa es como sigue:

Código Delphi [-]
  vInicio:=now;

  Application.Initialize;
  Application.Title := 'Marcelo';
  Application.CreateForm(TfrmInicioSplsh, frmInicioSplsh);

  frmInicioSplsh.Show;
  frmInicioSplsh.update;

  Application.CreateForm(Tdbq, dbq); //debe estar antes del principal porque éste lo usa en su evento oncreate
  Application.CreateForm(TfrmPrincipal, frmPrincipal);

  repeat Application.ProcessMessages;
  until ((millisecondsbetween(now,vInicio)>2000) or (vCerrar));
  end;

  frmInicioSplsh.free;
  frmPrincipal.Showmodal;

  Application.Run;

Creo que el tema está que cuando cierra la ventana de splash, activo al form principal con showmodal, y ahi queda como secundaria, entonces al minimizar queda a abajo a un lado, y no en la barra de tareas solamente.

El tema es que intenté cpm frmPrincipal.show pero la aplicación se cierra, y la verdad no se como hacer ! alguien sabe? muchisimas gracias como siempre por todas sus respuestas !
__________________
Marcelo C.

Última edición por emeceuy fecha: 30-10-2008 a las 15:33:09.
Responder Con Cita
  #6  
Antiguo 30-10-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
emeceuy, ¿que es dbq?

¡Por otro lado, porqué el ShowModal de la principal! Con CreateForm, lo que hace es que si se trata del Main Form, lo visualice, en otro caso lo va a crear.
Si efectivamente frmPrincipal es el Main Form no deberías tener problemas.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #7  
Antiguo 30-10-2008
emeceuy emeceuy is offline
Miembro
 
Registrado: jun 2003
Ubicación: Uruguay
Posts: 122
Poder: 21
emeceuy Va por buen camino
Gracias por la respuesta Delphius. dbq es un modulo de datos en donde hay querys para el acceso a tablas, y al iniciar el frmPrincipal debe sacar datos de ellas, por eso debe estar creado antes.

Yo quiero que mi form principal sea frmPrincipal, pero debería primero mostrar la ventana de splash screen e inclusive crear el modulo de datos dbq. O sea, si pongo a frmPrincipal en primer lugar en el source donde se crean los forms, intentará acceder a los querys de dbq y da access violation. Además no mostraría el splash creen. Es por eso que creo a frmPrincipal al final y luego lo muestro. Pero como puedo solucionar esto???
__________________
Marcelo C.
Responder Con Cita
  #8  
Antiguo 30-10-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Bueno el modulo de datos debe ir primero.
Necesariamente (es un requisito) que el primer Form a crear sea el principal. Asi trabaja Delphi.

Prueba algo como esto:

Código Delphi [-]
Application.Initialize;

  inicio := now;


  Application.CreateForm(TForm1, Form1);

  Application.CreateForm(TForm3, Form3);
  form3.Show;
  form3.Update;

  repeat
    Application.ProcessMessages;
  until (millisecondsbetween(now, inicio)>2000);

  Application.CreateForm(TForm2, Form2);

  form3.Free;

  Application.Run;

Donde Form3, es el que hace de splash, form1 es el main Form y form2 es otro cualquiera.

De ese modo conseguirás mostrar form3 como splash, form1 será el Main Form.

Obviamente, antes del Form prinicipal deberá estar tu módulo de datos.

El tema de porqué cuando minimizas cualquier form que no sea principal se vaya allí es como dije: es el comportamiento esperado. Si no quieres que haga eso, prueba desabilitando la opción de minimizar.
O la otra opción que se me ocurre es que tu aplicación sea MDI.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]

Última edición por Delphius fecha: 30-10-2008 a las 16:19:09. Razón: Me olvidé las etiquetas DELPHI
Responder Con Cita
  #9  
Antiguo 30-10-2008
emeceuy emeceuy is offline
Miembro
 
Registrado: jun 2003
Ubicación: Uruguay
Posts: 122
Poder: 21
emeceuy Va por buen camino
Efectivamente esa fue la solución Delphius, muchas gracias ! Eso si, tuve que poner en la propiedad "visible" del form principal a false, pues sino se abría el form principal, luego la splash y luego se cerraba la splash... poniendo visible en false se soluciona !

gracias ! salu2
__________________
Marcelo C.
Responder Con Cita
Respuesta



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
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
minimizar formularios federiconqn21 Varios 7 29-04-2006 01:16:39
Minimizar un Frame fmonte JAVA 0 19-04-2005 01:53:51
al minimizar pablo OOP 1 24-03-2005 04:42:02
Minimizar.... craven Varios 3 17-09-2003 18:36:26
Minimizar superhopi OOP 2 18-06-2003 05:10:42


La franja horaria es GMT +2. Ahora son las 15:55:45.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi