![]() |
Klassen Ableiten... Aber wie
Irgendiwe stehe ich gerade auf den Schlauch was das Ableiten von Klassen Betrifft....
ich habe es so versucht:
Delphi-Quellcode:
Das Ganze hat den Hintergrund das ich versuhe dieses in mein Programm einzubinden
type
THaAuswahlRec = Record FeldAus: TCheckBox; SpaltenBrei: Integer; SpaltenBez:String; BoxChecked:Boolean; end; TSGrid = class(TStringGrid) public constructor Create(Sender: TObject); // Eigenen Constcutor setzten end; TStartForm = class(TForm) Hauptmenu: TMainMenu; Patenschaften1: TMenuItem; Sterntaler1: TMenuItem; ... ... end; ... ... ... constructor TSGrid.Create(Sender: TObject); begin constructor TSGrid.Create(Sender: TObject); begin PicUp:= TBitmap.Create; PicUp.LoadFromResourceName(HInstance, 'ARROWUP'); PicUp.Transparent:= True; PicDown:= TBitmap.Create; PicDown.LoadFromResourceName(HInstance, 'ARROWDOWN'); PicDown.Transparent:= True; end; ![]() end; |
Re: Klassen Ableiten... Aber wie
Moin Real Thunder,
warum gibst Du Deinem Constructor Sender:TObject? Bei einem StringGrid wäre üblich AOwner:TComponent. Du kannst den Konstruktor zwar so gestalten, wie Du willst bzw. es brauchst, aber eine Komponente sollte schon den Owner mit übergeben bekommen, da dieser, wenn er angegeben wird, für die Freigabe zuständig ist. Ausserdem fehlt in Deinem Konstructor noch der Aufruf
Delphi-Quellcode:
begin
inherited; //... end; |
Re: Klassen Ableiten... Aber wie
vielen dank,
nun bekmme ich keine exeption mehr und er erstellt mir auch das Stringgrid... nn muß ich nurnoch irgendwie herausbekommen, wie dies hier gemeint ist: Zitat:
Delphi-Quellcode:
ich merke schon.. muß mich mal wieder mit den Delphi "Basics" befassen
if (ARow=0) then
begin iOrderId:= GridColIndex2OrderId(ACol); Inc(Rect.Left,2); if iOrderId=ProjectList.iOrderId then begin Rect.Right:= Rect.Right-16; end; DrawText(c.Handle, PChar(theGrid.Cells[ACol,ARow]), Length(theGrid.Cells[ACol,ARow]), Rect, DT_END_ELLIPSIS or DT_CENTER); if iOrderId=ProjectList.iOrderId then begin Rect.Right:= Rect.Right+16; end; if iOrderId=ProjectList.iOrderId then begin if ProjectList.bOrderAsc then begin c.Draw(Rect.Right-15,((Rect.Bottom-Rect.Top) div 2)-6,Grid.PicUp); end else begin c.Draw(Rect.Right-15,((Rect.Bottom-Rect.Top) div 2)-6,Grid.PicDown); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz