TCategoryPanel Horizontal Separator entfernen
-
Hallo Leute
Ich habe das Menü jetzt hinbekommen funktioniert auch alles aber ich habe immer noch wenn das Menü zugeklappt die Bottom Zeile enthalten wie bekomme ich diese noch weg.
Was ich meine ist Rot eingerahmt!!
http://up.picr.de/28524244gg.png
MFG
-
Mein Virenscanner blockiert leider die angegebene Website.
Meinst du das:
http://stackoverflow.com/questions/16004200/remove-tcategorypanel-border
Wenn ja, musst du eine eigene Komponente auf Basis von TCategoryPanelGroup erstellen und die Methode CreateParams wie folgt überschreiben:
void __fastcall TMyCategoryPanelGroup::CreateParams(TCreateParams &Params) { TCategoryPanelGroup::CreateParams(Params); Params.Style = Params.Style & ~WS_BORDER; }
-
Hallo Kerem
Ja das meinte ich aber das hatte ich schon probiert und leider funktioniert dies nicht .
Habe auch dies schon probiert
Dies funktioniert leider auch nicht ich kann leider auch nicht sagen warum ?
MFG
-
Dann wird es wohl Zeit für etwas Code...
Poste doch mal deine Implementierung der Komponente. Bei mir funktioniert es nämlich einwandfrei mit dem C++ Builder 10 Seattle.
Welche Version nutzt du?
-
Moin Kerem
Code in meiner Project.cpp
void __fastcall TMyCategoryPanelGroup::CreateParams(TCreateParams &Params) { TCategoryPanelGroup::CreateParams(Params); Params.Style = Params.Style & ~WS_BORDER; }
in der Project.h
class MyCategoryPanelGroup : public TCategoryPanelGroup { public: void __fastcall CreateParams(TCreateParams &Params); }
und Version nutze ich Berlin
MFG
Denis
-
Mahlzeit Denis,
sorry, hab leider einen Teil meiner Implementierung übersehen. Der bisher betrachtete Code entfernt lediglich die Umrandung der TCategoryPanelGroup.
Dein zweites Beispiel beschreibt eigentlich das was wir brauchen. Ich habe das so umgesetzt:
void __fastcall TMyCategoryPanel::DrawCollapsedPanel(Vcl::Graphics::TCanvas* ACanvas) { TRect LRect; LRect = ClientRect; LRect.Top = HeaderHeight; LRect.Bottom = GetCollapsedHeight(); ACanvas->Brush->Color = Color; ACanvas->FillRect(LRect); } int __fastcall TMyCategoryPanel::GetCollapsedHeight(void) { return HeaderHeight ; }
Dieses Panel muss jetzt in der Spezialisierung der Komponente TCategoryPanelgroup bekannt gemacht (#include "MyCategoryPanel.h" z.B.) und genutzt werden. Dazu noch die Methode GetCategoryPanelClass überschreiben:
TCategoryPanelClass __fastcall TMyCategoryPanelGroup::GetCategoryPanelClass(void) { return __classid(TMyCategoryPanel); }
Viel Erfolg!
Gruß
Kerem