2013-04-14 3 views
6

Comment pouvez-vous supprimer la bordure de TCategoryPanel et TCategoryPanelGroup dans XE3?Supprimer la bordure tcategorypanel

essayé et n'a pas fonctionné:

type 
    TCategoryPanel = class (Vcl.ExtCtrls.TCategoryPanel) 
protected 
    procedure CreateParams (var Params: TCreateParams); override ; 
end ; 

procedure TCategoryPanel.CreateParams (var Params: TCreateParams); 
begin 
    Inherited ; 
    Params.Style:= Params.Style and not WS_BORDER; 
end ; 
+0

Trouvé comment supprimer celui du panneau, mais pas le PanelGroup. Le panneau a apparemment un BevelOuter non publié que j'ai mis à bvNone et cela a fonctionné. A cherché un paramètre de bordure pour le groupe mais n'en a pas. – uPrompt

Répondre

7

Pour TCategoryPanel vous devez définir la propriété protégée BevelOuter à bvNone.

Pour TCategoryPanelGroup vous pouvez en effet supprimer la bordure en CreateParams. Comme si:

Params.Style := Params.Style and (not WS_BORDER); 

Il ressemble à ceci:

enter image description here

+1

Pour une raison quelconque, ne peut toujours pas obtenir ce travail même avec le (pas WS_BORDER) Mais, je peux vivre avec cette bordure. Le panneau 3D me tue. Merci. – uPrompt

+0

J'ai ajouté une capture d'écran pour prouver que j'avais réussi –

+0

Je vois ... TStyleManager remplacerait-il cela? – uPrompt

Questions connexes