Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-09-2004
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
Bordes de un PageControl

Hola,

¿Alguien sabe si es posible integrar los bordes de un PageControl a los del formulario cuando se alinea a uno de los bordes (propiedad Align) como cualquier otro control en lugar de que quede en relieve?

// Gracias
Responder Con Cita
  #2  
Antiguo 08-09-2004
PARF PARF is offline
Registrado
 
Registrado: sep 2004
Posts: 2
Poder: 0
PARF Va por buen camino
Una forma es cambiando la propiedad Style a tsFlatButtons o tsButtons, los tabs quedan como botones pero los bordes ya no quedan en relieve
Responder Con Cita
  #3  
Antiguo 08-09-2004
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
Gracias PARF, había ya probado lo que me comentas y es como dices pero pues bueno, me hubiera gustado con los "tabs" y por otra parte con el estilo de botones si bien no aparece el borde, los botones no se recorren a la izquierda de manera que no quedan alineados con los controles que haya en las fichas.

Agradezco tu interés, un saludo
Responder Con Cita
  #4  
Antiguo 08-09-2004
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
Bueno, quizá no es la solución ideal pero el efecto es bastante aceptable. Luego de una noche de búsqueda finalmente encontré algo que adaptándolo un poco quedó así:

Código Delphi [-]
interface

type
  TFlatPageControl = class(TPageControl)
  protected
    function GetClientRect: TRect; override;
  end;

implementation

function TFlatPageControl.GetClientRect: TRect;
begin
  Result := inherited GetClientRect;
  InflateRect(Result, 4, 4);
end;

end.

Es decir, engañar al control haciéndole pensar que su área cliente es 4 pixeles más grande de cada lado por lo que los bordes quedan ocultos por los controles adyacentes cuando su propiedad Align es alClient.

Para mejor darme a entender en cuanto a lo que deseaba vean estas imágenes. La primera es con el PageControl usual con sus bordes sobresaliendo del resto y la segunda el nuevo PageControl con los bordes "integrados" al resto.

Si les gusta, y en espera de una mejor solución, pues ahí tienen el código.

// Saludos
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


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


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