Ver la Versión Completa : Bordes de un PageControl
roman
07-09-2004, 22:27:56
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
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í:
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 (http://www.clubdelphi.com/users/roman/pagecontrols.php). 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
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.