Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Form en la barra de tarea de windows (https://www.clubdelphi.com/foros/showthread.php?t=12093)

Aleca 05-07-2004 19:56:35

Form en la barra de tarea de windows
 
Buenas tardes, hay alguna forma que un formulario cualquiera aparezca en la barra de tareas de windows (no el icono "cerca del reloj") si no como sale el programa principal (ícono + nombre)
desde ya muchas gracias.

delphi.com.ar 05-07-2004 20:43:08

La zona donde esta el Reloj se llama Tray, puedes buscar ensta palabra en el foro, y verás una buena cantidad de hilos respecto a este tema.

Saludos!

roman 05-07-2004 20:55:59

Creo que lo que Aleca quiere es lo contrario, es decir, no que parezca en el Tray sino como otro botón en la barra de tareas aun no siendo el formulario principal. De ser así puede redefinir el método CreateParams:

Código Delphi [-]
procedure TForm2.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
end;

// Saludos

delphi.com.ar 05-07-2004 21:00:15

Cita:

Empezado por roman
Creo que lo que Aleca quiere es lo contrario, es decir, no que parezca en el Tray sino como otro botón en la barra de tareas...

Tienes razón... hoy no es mi día :D

Saludos!

Aleca 05-07-2004 21:05:54

es que justamente no quiero ahi, quiero que salgan los forms juntos con el nombre del programa (tipo boton)
PD: perdona si no me explico correctamente

Aleca 05-07-2004 21:35:31

Cita:

Empezado por roman
Creo que lo que Aleca quiere es lo contrario, es decir, no que parezca en el Tray sino como otro botón en la barra de tareas aun no siendo el formulario principal. De ser así puede redefinir el método CreateParams:


// Saludos

Roman, muchas gracias anduvo a la perfeccion

CHiCoLiTa 08-07-2004 18:18:07

Solo un apunte para completar lo que ha puesto roman y funcione correctamente

Código Delphi [-]
procedure TForm2.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
  Params.WndParent := GetDesktopWindow;
end;

roman 08-07-2004 18:37:24

¿Te refieres a que al minimizar el formulario principal su botón desaparece?

Pues ¡excelente observación! Ni cuenta me había dado. Gracias por la información.

// Saludos

CHiCoLiTa 08-07-2004 18:45:15

Cita:

Empezado por roman
¿Te refieres a que al minimizar el formulario principal su botón desaparece?

y que segun lo tengas como modal o no, pulsando sobre el boton no te deja cambiar de ventana

Saludos

roman 08-07-2004 18:51:15

Cita:

Empezado por CHiCoLiTa
y que segun lo tengas como modal o no, pulsando sobre el boton no te deja cambiar de ventana

¡Ah! Pero aquí ya no estoy tan seguro de que sea un "mal comportamiento" Es decir, el objetivo de una ventana modal es el de interrumpir cualquier otra acción del usuario mientras trabaja en dicha ventana. Con este efecto pues entonces ya no es muy modal. Creo que yo omitiría la redefinición de parámetros para las ventanas que use como cuadros de diálogo.

// Saludos

CHiCoLiTa 09-07-2004 11:01:25

Cita:

Empezado por roman
¡Ah! Pero aquí ya no estoy tan seguro de que sea un "mal comportamiento"

En efecto, al redefinir los parametros y crear una ventana modal, lo que puedes es cambiar el foco de ventana, pero no actuar sobre ella. Digamos que tenemos un "comportamiento hibrido"

Para las no modales el comportamiento seria el deseado

Carlos Arevalo 23-07-2005 20:10:16

Que tal amigos del foro

Al tratar de implementar el metodo antes citado me da el siguiente error:

Method 'CreateParams' hides virtual method of base type 'TCustomForm'

Estoy utilizando Delphi 7

Pregunta:

Este metodo hay que aplicarlo por cada form o se puede aplicar de modo general para todos los form?


Muchas gracias

Carlos Arevalo

vic_ia 23-07-2005 21:52:40

hola....

lo que te dice el compilador es que tu procedimiento esta ocultando el método virtual heredado de la clase base (customform), para que no te presente este aviso solo tienes que escribir delante de la definicion del metodo la palabra override...

por otro lado, como cualquier metodo que modificas solo se aplica a la(s) instancia(s) que creas de él,... si "si todos los formularios" que quieres que tangan este comportamiento son una instancia de este pues no necesitas hacer mas.... si lo que quieres es que distintos tipos (clases) de formularios tengan este compartamiento, lo que puedes hacer es crearte una clase que derive de CustomForm y de ella derivar los forms que deseas....

saludos....

kalisto 29-07-2005 00:33:05

un unico boton con menu desplegable
 
hola a todos ¿Que tal?

¿Seria posible que en vez de aparecer en la barra de tareas un bonton por cada ventana abierta, apareciese un unico boton que al ser pulsado desplegase un menu, con el titulo de cada una de las ventanas?

Gracias...

kalisto 29-07-2005 23:17:33

vale, no he dicho nada ya he visto que windows xp lo hace automaticamente cuando la barra de tareas esta llena.


La franja horaria es GMT +2. Ahora son las 02:38:08.

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