Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-09-2014
gdlrinfo gdlrinfo is offline
Miembro
 
Registrado: may 2007
Posts: 131
Poder: 17
gdlrinfo Va por buen camino
Error al minimizar

Hola amigos tengo un problema al minimizar mi programa desde el form este queda sobre la barra de tareas y no en la barra en si mando un enlace con la foto a ver si alguien puede darse cuenta cual es el problema https://www.dropbox.com/s/npcl112u8d...Dtulo.jpg?dl=0
Desde ya Muchas Gracias como siempre saludossss.....


Última edición por Casimiro Notevi fecha: 18-09-2014 a las 22:59:32.
Responder Con Cita
  #2  
Antiguo 18-09-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Probando a sacar la imagen.
Imágenes Adjuntas
Tipo de Archivo: jpg Sin-título2.jpg (26,0 KB, 15 visitas)
Responder Con Cita
  #3  
Antiguo 18-09-2014
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Hola gdlrinfo.

En el ProjectManager debes hacer click derecho sobre el nombre del ejecutable y seleccionar ViewSource.
Debes asegurarte que en el siguiente código, lo resaltado se encuentre en True y debiera funcionar.

Código Delphi [-]
 Application.Initialize;
 Application.MainFormOnTaskbar :=True;
 Application.CreateForm(TFormPrincipal, FormPrincipal);
 Application.Run;

Salu2
Responder Con Cita
  #4  
Antiguo 19-09-2014
gdlrinfo gdlrinfo is offline
Miembro
 
Registrado: may 2007
Posts: 131
Poder: 17
gdlrinfo Va por buen camino
Hola

Amigo muchas gracias por tu respuesta asi es esta en "TRUE" pero no funciona :C desconozco el motivo la verdad nose porque lo hace gracias por tu ayuda
Responder Con Cita
  #5  
Antiguo 20-09-2014
gdlrinfo gdlrinfo is offline
Miembro
 
Registrado: may 2007
Posts: 131
Poder: 17
gdlrinfo Va por buen camino
Posible solucion

Hola nuevamente creo que encontré porque sucede eso a ver que les parece :
Resulta que el form principal de mi soft es un form que pide usuario y pass el principal no es ese que no tiene ningún botón sino el form3 aquí muestro

Código Delphi [-]
begin
  Application.Initialize;
  Application.MainFormOnTaskbar := true; //esta en true
  TStyleManager.TrySetStyle('Silver');
  Application.CreateForm(TForm3, Form3);//// pero este el principal 
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm4, Form4);

ahora si pongo que me genere primero el form3 adivinen anda de 10 como podre solucionar esto ? gracias como siempre!!!!!
Responder Con Cita
  #6  
Antiguo 20-09-2014
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Estimado gdlrinfo:

Yo no puedo adivinar qué contiene o qué hace cada uno de tus Forms.
¿Los formularios los creas a medida que los necesitas o ya los has creado al iniciar el programa?
Con tu proyecto cargado revisa en el menú principal de Delphi >Project>Options>Forms = Main form. Este es el que se abre primero.
Si inicias el programa con el Form de Login, donde se pide usuario y pass, este debiera ser el Main Form y desde él abrir el Form que tu quieras.

Salu2
Responder Con Cita
  #7  
Antiguo 22-09-2014
gdlrinfo gdlrinfo is offline
Miembro
 
Registrado: may 2007
Posts: 131
Poder: 17
gdlrinfo Va por buen camino
Buenas

hola radenf en te comento que si pongo como form1 principal el cual es el principal y no el 3 como esta ahora es que me auto crea primero el principal y yo necesito que me cree primero el form3 que tiene la clave... ahora bien si yo creo primero el principal si me anda lo de minimizar, ahora si creo primero el form3 del usuario ya no lo hace..
Esto de crear primero el form3 no es un capricho sino es que necesito que sea el primero que se crea ya que tiene que aprobar los usuarios antes de darle la entrada un abrazo y gracias por tu respuesta !!



Aclaro que en el anterior estaba mal expresado
Código Delphi [-]
begin
  Application.Initialize;
  Application.MainFormOnTaskbar := true; //esta en true
  TStyleManager.TrySetStyle('Silver');
  Application.CreateForm(TForm3, Form3);//// pero este no es el principal sino el de usuario.
  Application.CreateForm(TForm1, Form1);//// este es el form principal.
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm4, Form4);

Última edición por gdlrinfo fecha: 22-09-2014 a las 21:05:40.
Responder Con Cita
  #8  
Antiguo 22-09-2014
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Prueba colocar en el evento onCreate del form que aparece minimizado lo siguiente:

Código Delphi [-]
WindowState.wsMaximized;

Saludos
Responder Con Cita
  #9  
Antiguo 22-09-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
gdlrinfo,

Cita:
Empezado por gdlrinfo
...tengo un problema al minimizar mi programa desde el Form3 este queda sobre la barra de tareas y no en la barra...el Form3 de mi software es un formulario que pide usuario y password, el Form1 (Principal) no es ese que no tiene ningún botón sino el Form3...


Revisa este código:
Código Delphi [-]
program Project1;

uses
  Windows,
  Controls,
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};

var
   Form1 : TForm1;

{$R *.res}

begin

   Application.Initialize;
   Application.MainFormOnTaskBar := True;
   Application.Title := 'Test Application';

   Form1 := TForm1.Create(Application); // Form1 No AutoCreate

   SetWindowLong(Form1.Handle,GWL_EXSTYLE,(GetWindowLong(Form1.Handle,GWL_EXSTYLE) or WS_EX_APPWINDOW));

   if Form1.ShowModal = mrOK then
      Application.CreateForm(TForm2, Form2) // Form2 AutoCreate MainForm
   else
      Application.Terminate;

   Application.Run;

end.
El código anterior en Delphi 2010 sobre Windows 7 Professional x32, permite crear un formulario Form1 de Login en modo ShowModal, el cual tendrá su icono sobre el ToolBar de Windows de forma Standard al igual que el formulario principal Form2, la configuración de creación de los formularios en el proyecto se muestra en la siguiente imagen:



Espero sea útil

Nelson.
Responder Con Cita
  #10  
Antiguo 22-09-2014
gdlrinfo gdlrinfo is offline
Miembro
 
Registrado: may 2007
Posts: 131
Poder: 17
gdlrinfo Va por buen camino
Buenas

Hola agradezco a todos por las respues y probe tu ayuda nlsgarcia pero me hacia lo mismo lo que hice fue algo parecido a lo que me dices pero en vez de que cree los form al iniciar lo hago cuando los voy a usar por ejemplo asi :

Código Delphi [-]
Application.CreateForm(TForm2, Form2);
Form2.Show;
De esta manera no me crea los form al abrirlo sino cuando los uso y puse el 3 como principal y ahora si se minimiza perfecto agradezco la ayuda de todos como siempre y les mando un abrazo !
Responder Con Cita
  #11  
Antiguo 22-09-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
gdlrinfo,

Cita:
Empezado por gdlrinfo
...lo que hice fue algo parecido a lo que me dices...ahora si se minimiza perfecto...


Cita:
Empezado por gdlrinfo
...probé tu ayuda nlsgarcia pero me hacia lo mismo...


Te comento:

1- El código propuesto en el Msg #9, funciona correctamente según lo esperado en las pruebas realizadas con Delphi 2010 sobre Windows 7 Professional x32.

2- La clave del código propuesto es la función SetWindowLong

Espero sea útil

Nelson.
Responder Con Cita
  #12  
Antiguo 23-09-2014
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por nlsgarcia Ver Mensaje


Puede ser que me equivoque, pero me parece que el problema que gdlrinfo tenía es que al minimizar el formulario "principal" se quedaba arriba de la barra de tareas, cosa que sucede con cualquier formulario secundario. Y sucedía porque tal formulario "principal" realmente no lo era. Para la VCL el formulario principal es el primero que se crea con Application.CreateForm.

Por eso, en tu código, la clave realmente no está en el SetWindowLong, sino en en crear el formulario del Login con TForm1.Create en lugar de Application.CreateForm.

// Saludos
Responder Con Cita
  #13  
Antiguo 23-09-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
roman,

Cita:
Empezado por roman
...la clave realmente no está en el SetWindowLong, sino en crear el formulario del Login con TForm1.Create en lugar de Application.CreateForm...


Es una combinación de ambas, pero sin la función SetWindowLong utilizada en el Msg #9, el formulario Form1 en modo ShowModal se muestra encima del ToolBar, no dentro del ToolBar, lo cual es el caso mencionado en el Msg #1.

En lo personal, no veo ningún problema al comportamiento descrito en el Msg #1, sin embargo cada entorno de trabajo tiene su propia idiosincrasia

Saludos,

Nelson.
Responder Con Cita
  #14  
Antiguo 23-09-2014
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por nlsgarcia Ver Mensaje
el formulario Form1 en modo ShowModal se muestra encima del ToolBar, no dentro del ToolBar[/i][/b][/color], lo cual es el caso mencionado en el Msg #1.
Bueno, del mensaje 1 poco se puede colegir. Mi impresión es que no le preocupa que el formulario del login se minimice arriba de la barra de tareas (de hecho, un formulario de login no debería minimizarse de ninguna manera ya que es un cuadro modal) sino que el formulario principal de la aplicación lo haga.

Pero, como dije, puede ser que me equivoque.

// Saludos
Responder Con Cita
  #15  
Antiguo 23-09-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
roman,

Cita:
Empezado por roman
...del mensaje 1 poco se puede colegir. Mi impresión es que no le preocupa que el formulario del login se minimice arriba de la barra de tareas...sino que el formulario principal de la aplicación lo haga...


Ciertamente la redacción de los mensajes no es muy explicita, pero el código del Msg #9 muestra como hacer que todos los formularios del ejemplo queden al ser minimizados dentro del ToolBar, no encima del Toolbar, lo cual se adapta al problema planteado

Saludos,

Nelson.
Responder Con Cita
  #16  
Antiguo 30-09-2014
gdlrinfo gdlrinfo is offline
Miembro
 
Registrado: may 2007
Posts: 131
Poder: 17
gdlrinfo Va por buen camino
Hola Roman

Cita:
Empezado por roman Ver Mensaje
Bueno, del mensaje 1 poco se puede colegir. Mi impresión es que no le preocupa que el formulario del login se minimice arriba de la barra de tareas (de hecho, un formulario de login no debería minimizarse de ninguna manera ya que es un cuadro modal) sino que el formulario principal de la aplicación lo haga.

Pero, como dije, puede ser que me equivoque.

// Saludos
Hola Román tal como lo dices el form de usuario solo tiene X para cerrar no hay minimizar pero mi problema era que el form principal no lo tomaba como tal, entonces lo abría como una ventana secundaria lo solucione creando primero el form principal y ocultándolo luego creo el de usuario y cuando lo ponen le da el visible=true al principal y hace un destroy del de usuario, el problema es que me creaba el form al inicio es decir todos automáticamente ahora le puse que no cree ninguno solo el principal y el de usuario y si necesito alguno lo creo antes de abrirlo y listo gracias a todos como siempre por darme una mano !!!
Responder Con Cita
  #17  
Antiguo 30-09-2014
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por gdlrinfo Ver Mensaje
Hola Román tal como lo dices el form de usuario solo tiene X para cerrar no hay minimizar pero mi problema era que el form principal no lo tomaba como tal, entonces lo abría como una ventana secundaria lo solucione creando primero el form principal y ocultándolo luego creo el de usuario y cuando lo ponen le da el visible=true al principal y hace un destroy del de usuario, el problema es que me creaba el form al inicio es decir todos automáticamente ahora le puse que no cree ninguno solo el principal y el de usuario y si necesito alguno lo creo antes de abrirlo y listo gracias a todos como siempre por darme una mano !!!
Gracias. Confirmas lo que había pensado y qué bueno que lo has podido solucionar, aunque he de decirte que me gusta más la solución que planteó nlsgarcia (sin el SetWindowLong ni el Application.Terminate) porque, al menos a mi, me pasaba que haciéndolo como tú, en ocasiones se notaba el pestañeo entre que se visualiza el formulario pricipal y se esconde.

De todas maneras, lo importante es que ya te funcione.

// Saludos
Responder Con Cita
  #18  
Antiguo 13-10-2014
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Impresionante, y pensar que yo lo solucione interceptando los eventos onMinimize y onRestore, muchas gracias nelson
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
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
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Click en minimizar ventana y minimizar aplicacion dmassive Varios 5 16-02-2009 18:01:16
Error de conexion al minimizar y restaurar en Win98SE FGarcia Conexión con bases de datos 0 05-06-2007 09:21:40
Error al Minimizar forma CLX fsilva79 Varios 1 31-08-2005 08:07:00
al minimizar pablo OOP 1 24-03-2005 05:42:02
Minimizar.... craven Varios 3 17-09-2003 19:36:26


La franja horaria es GMT +2. Ahora son las 16:20:02.


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