2013-04-14 15 views
6

Come rimuovere il bordo da TCategoryPanel e TCategoryPanelGroup in XE3?Rimuovi bordo tcategorypanel

provato questo e non ha funzionato:

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

Trovato come rimuovere quella dal pannello, ma non il PanelGroup. Il pannello apparentemente ha un BevelOuter non pubblicato che ho impostato su bvNone e ha funzionato. Ho cercato un'impostazione del bordo per il gruppo ma non ne ho uno. – uPrompt

risposta

7

Per TCategoryPanel è necessario impostare la proprietà protetta BevelOuter a bvNone.

Per TCategoryPanelGroup è possibile rimuovere il bordo in CreateParams. In questo modo:

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

Ecco come si presenta:

enter image description here

+1

Per qualche motivo, ancora non riesco a farlo funzionare anche con (non WS_BORDER) Ma, posso vivere con questo confine. Il pannello 3d mi stava uccidendo. Grazie. – uPrompt

+0

Ho aggiunto uno screenshot per dimostrare che avevo avuto successo –

+0

Capisco ... TStyleManager lo sovrascriverà? – uPrompt

Problemi correlati