Ver Mensaje Individual
  #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
Reputación: 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