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 24-05-2022
LIGERO LIGERO is offline
Miembro
 
Registrado: jun 2007
Posts: 42
Poder: 0
LIGERO Va por buen camino
PageControl con botón de cerrar pestaña

Buenas;

Estoy haciendo una aplicación la cual dependiendo del menú, añade pestañas o páginas a un PageControl

La idea es que al lado del nombre de la página, aparezca un botón que permita cerrar dicha página, al igual que hace por ejemplo Embarcadero cuando tenemos abiertos varios ficheros del proyecto, que nos permite cerrar pulsando la X de cada pestaña.

No he visto ninguna propiedad del PageControl, ni de los TabSheet.

He buscado también en el componente TabControl, pero si exito.

Hay alguna forma de hacerlo?

Saludos
Responder Con Cita
  #2  
Antiguo 24-05-2022
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
Los componentes estandard de delphi no traen esa caracteristica, aunque hoy en día es bastante habitual. Sin ir más lejos, como tú comentas, en el propio IDE de delphi, o en los navegadores (que son las que los pusieron de moda).

A partir de ahí tienes 2 opciones:
1) Optar por un componente de terceros que lo implemente.
2) Crear un componente propio que lo implemente.

1) Para la primera tienes muchas opciones, más o menos atractivas.
TMS:
https://www.tmssoftware.com/site/apc.asp
Las JVCL creo recordar que también tienen alguno.
Por supuesto las DevExpress.
Desde GetIt puedes descargar las "ChromeTabs" muy vissuales y atractivas y como su nombre indica "a semejanza" de las que implementa Chrome:
https://getitnow.embarcadero.com/tchrometabs/

Si buscas encontrarás más.

2) Para la segunda opción (por si quieres probar) puedes te puedes aventurar a derivar el componente e intentar implementar.
Al final no debe ser muy complejo, ya que sólo debes "pintar" la cruz, sobreescribiendo con alguno de los procedimientos de pintado (Draw, Paint,...). Y como segundo paso capturar los eventos de ratón para poder cerrarla cuando pulses.

Código Delphi [-]
procedure PageControlCloseButtonDrawTab(Control: TCustomTabControl; TabIndex: Integer;
      const Rect: TRect; Active: Boolean);

Código Delphi [-]
procedure PageControlCloseButtonMouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

Puedes revisar estas dos implementaciones; No parece muy complejo (en ambas además implementan otros movimientos de ratón, imagino que para cambiar el estado de la imagen):
https://stackoverflow.com/questions/...a-tpagecontrol
https://stackoverflow.com/questions/...phi-xe3-firemo
__________________
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 26-05-2022
LIGERO LIGERO is offline
Miembro
 
Registrado: jun 2007
Posts: 42
Poder: 0
LIGERO Va por buen camino
Muchísimas gracias.
He probado el de Chrome y es muy completo
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
Cambiar la pestaña del PageControl Frank Varios 10 29-09-2015 22:35:32
PageControl con botones cerrar Comandant Varios 10 16-11-2012 04:46:52
Crear on Objeto en una pestaña específica de un ¨PageControl¨ Alcolea OOP 2 14-08-2006 01:51:12
se puede cambiar el color de la pestaña del PageControl Patricio Varios 2 05-04-2006 16:38:52
Cambiar color de la pestaña de un PageControl acalderonr Varios 2 07-07-2003 03:08:44


La franja horaria es GMT +2. Ahora son las 23:22:03.


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