BCB CreateParams i inherited jak w delphi

0

Mam oto taki kod w dellphi zeby mi tworzyl 'resizable form' ale bez border'a

//no border BUT resizable
procedure TForm1.CreateParams(var Params: TCreateParams) ;
begin
  BorderStyle := bsNone;

  inherited;

  Params.ExStyle := Params.ExStyle or WS_EX_STATICEDGE;
  Params.Style := Params.Style or WS_SIZEBOX;
end;

Przerobilem to na cos takiego

void __fastcall TFCyfra::CreateParams(Controls::TCreateParams &Params)
{


  BorderStyle = bsNone;

//	Inherited;

  Params.ExStyle = Params.ExStyle || WS_EX_STATICEDGE;
  Params.Style = Params.Style || WS_SIZEBOX;


//	inherited CreateParams(Params);
   // Params.ExStyle = Params.ExStyle || WS_EX_CLIENTEDGE;
}//

Tylko ze wywala mi sie przy Inherited Jakby w ogole nie znal tej funkcji Kto mi pomoze przerobic kod z delphi pod BCB?:)

0

co to jest inherited..? wywolanie metody z klasy bazowej? w takim razie

  BorderStyle = bsNone;

  nazwaklasybazowej::CreateParams(Params);

  Params.ExStyle = Params.ExStyle || WS_EX_STATICEDGE;
  Params.Style = Params.Style || WS_SIZEBOX;
0

Ehh szkoda ze chociaz to dziala to nie moge nawet uruchomic programu bo mi kponenty sie krzacza tzn. jeszcze przed pokazan9iem formy mam np. w comboboxie STACK OVERFLOW :U

0

spokojnie, jak masz stack overflow akurat w tym wypadku, to pewnie dlatego, że masz nieskończoną rekurencje - funkcja wywołuje samą siebie.
Dałem to dla TForm w taki sposób:

class TForm1 : public TForm {
    __published:
    public:
        __fastcall TForm1(TComponent* Owner);
        void __fastcall CreateParams(Controls::TCreateParams &Params) {
            BorderStyle = bsNone;
            TForm::CreateParams(Params);            
            Params.ExStyle = Params.ExStyle || WS_EX_STATICEDGE;
            Params.Style = Params.Style || WS_SIZEBOX;
            }
    };

i działa. Na pewno dałeś TKlasaBazowa::CreateParams, a nie przypadkiem TFCyfra::CreateParams? Ewentualnie, jak modyfikowałeś konstuktor, albo akcesory (do BorderStyle na przykład), to pokaż, może tam masz jakieś zapętlenie.

Dopisane:
Po czym dziedziczysz? To ułatwi sprawę, bo w TForm dałem tylko dlatego, że mi wygodnie ;]

0

No i jeszcze mała literówka.

Params.ExStyle = Params.ExStyle | WS_EX_STATICEDGE;
Params.Style = Params.Style | WS_SIZEBOX;

1 użytkowników online, w tym zalogowanych: 0, gości: 1