![]() |
Eigenes TMemo
Ich möchte ein Memo und eine Listbox nebeneinander anzeigen.
In der Listbox will ich Daten zeigen, die auf dem Inhalt der Memo-Zeilen basieren. Zusätzlich möchte ich, für die Listbox und das Memo unterschiedliche Schriftgrößen haben können. Um sicherzustellen, daß die Listbox-Zeilen in der gleiche Höhe liegen, wie die der Memo-Zeilen, müssen die Zeilen des Memos die gleiche Höhe haben wie die der Listbox. In der Listbox ist das mit ItemHeigth zu regeln. Im Memo wird (wenn ich das richtig sehe) die Zeilenhöhe in der Prozedur AdjustHeight (von TCustomEdit) eingestellt. Ich möchte nun so vorgehen : Ein eigenes TCustomEdit von TCustomEdit ableiten und von diesem wiederum ein eigenes TCustomMemo ableiten, das im Prinzip identisch mit dem TCustomMemo aus StdCtrls sein soll. Bis jetzt hab ich folgendes
Delphi-Quellcode:
Und gleich am Anfang laufe ich "auf den Schrubber"
unit Unit1;
interface uses Classes, StdCtrls; Type TxCustomEdit=Class(TCustomEdit) Private procedure AdjustHeight; override; // Zeile 10 protected public constructor Create(AOwner: TComponent); override; end; implementation constructor TxCustomEdit.Create(AOwner: TComponent); begin inherited end; PROCEDURE TxCustomEdit.AdjustHeight; begin inherited; Heigth:=Height+3; end; end. [Fehler] Unit1.pas(10): E2137 Methode 'AdjustHeight' nicht in Basisklasse gefunden. Jetzt frage ich mich warum AdjustHeight nicht in der Basisklasse (TCustomEdit) gefunden wird, obwohl sie darin enthalten ist. Was mache ich falsch ? Und : Weiß jemand eine simplere Möglichkeit, die Zeilenhöhe eines TMemo einzustellen ? |
Re: Eigenes TMemo
Ist AdjustHeight in der Basisklasse implementiert oder nur eine abstrakte Funktion? Vielleicht ist AdjustHeight im protected deklariert? Versuchs mal ohne "override", aber mit "inherited" in der Implementierung.
|
Re: Eigenes TMemo
Naja, dein Problem ist, dass Geerbte Klassen keine privaten Deklarationen erben können :idea:
MfG xZise |
Re: Eigenes TMemo
Galt das nicht für protected? :gruebel:
|
Re: Eigenes TMemo
Dann lass das inherited weg, weil dies bewirkt das eine gleichnamige Methode der Superklasse aufgerufen wird, welche nicht existiert!
|
Re: Eigenes TMemo
Zitat:
|
Re: Eigenes TMemo
Zitat:
private: Nur Unit & Klasse protected: private + "Kinder" Ich habe ein bisschen im Code geguckt: Adjust wird durch UpdatHeight aufgerufen, aber das wird auch nicht so direkt aufgerufen :( |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 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