Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Bordes de un PageControl (https://www.clubdelphi.com/foros/showthread.php?t=14027)

roman 07-09-2004 22:27:56

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

PARF 08-09-2004 00:44:05

Una forma es cambiando la propiedad Style a tsFlatButtons o tsButtons, los tabs quedan como botones pero los bordes ya no quedan en relieve

roman 08-09-2004 02:46:18

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

roman 08-09-2004 08:56:49

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


La franja horaria es GMT +2. Ahora son las 00:12:07.

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