![]() |
Zur LZ erzeugter ToolBar wird nicht angezeigt
Hallo, ich hätte da gern mal ein Problem...
Ich bastele mir ein Panel, auf dem die untergeordneten Element per Laufzeit erzeugt werden. Soweit sogut, hat auch funktioniert, aber jetzt möchte ich noch einen ToolBar einfügen und der wird NICHT angezeigt. But why?
Delphi-Quellcode:
Das Panel selbst wird auf dem Hauptformular zur Laufzeit erzeugt, das funktioniert auch soweit.
unit UEinstellungen;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ToolWin, ComCtrls, StdCtrls, ExtCtrls, XTCtrls, ImgList, UDM; type TEinstellungen = class(TPanel) private { Private-Deklarationen } TlBr: TToolBar; Information: TXTPanel; InfBenutzer: TXTEdit; InfComputer: TXTEdit; Datenbank: TXTPanel; DtbTreiber: TXTEdit; DtbServer: TXTEdit; DtbName: TXTEdit; Peripherie: TXTPanel; PerAmpelIP: TXTEdit; PerAmpelPort: TXTEdit; PerAnzeigeIP: TXTEdit; PerAnzeigePort: TXTEdit; procedure Enter(Sender: TObject); public { Public-Deklarationen } constructor Create(AOwner: TComponent; AParent: TWinControl); end; implementation constructor TEinstellungen.Create(AOwner: TComponent; AParent: TWinControl); begin inherited Create(AOwner); //Allgemeine Parameter vorbesetzen Parent:=AParent; BevelInner:=bvNone; BevelKind:=bkFlat; BevelOuter:=bvNone; ParentColor:=True; Top:=50; //Beliebiger Wert, der unterhalb von Toolbar liegt Align:=alClient; AlignWithMargins:=True; Visible:=False; OnEnter:=Enter; //Untergeordnete Elemente erzeugen TlBr:=TToolBar.Create(self); TlBr.Parent:=self; TlBr.AlignWithMargins:=True; TlBr.DrawingStyle:=dsGradient; Information:=TXTPanel.Create(self,self); Information.Caption:='Information'; Information.Top:=30; Information.Height:=80; Information.Width:=260; Information.Enabled:=False;//Nur Information, keine Eingaben InfBenutzer:=TXTEdit.Create(self,Information,30); InfBenutzer.Caption:='Benutzer'; InfComputer:=TXTEdit.Create(self,Information,55); InfComputer.Caption:='Computer'; Datenbank:=TXTPanel.Create(self,self); Datenbank.Caption:='Datenbank'; Datenbank.Top:=120; Datenbank.Height:=105; Datenbank.Width:=260; DtbTreiber:=TXTEdit.Create(self,Datenbank,30); DtbTreiber.Caption:='Treiber'; DtbServer:=TXTEdit.Create(self,Datenbank,55); DtbServer.Caption:='Server'; DtbName:=TXTEdit.Create(self,Datenbank,80); DtbName.Caption:='Name'; Peripherie:=TXTPanel.Create(self,self); Peripherie.Caption:='Peripherie'; Peripherie.Top:=230; Peripherie.Height:=130; Peripherie.Width:=260; PerAmpelIP:=TXTEdit.Create(self,Peripherie,30); PerAmpelIP.Caption:='Ampel - IP'; PerAmpelPort:=TXTEdit.Create(self,Peripherie,55); PerAmpelPort.Caption:='Ampel - Port'; PerAnzeigeIP:=TXTEdit.Create(self,Peripherie,80); PerAnzeigeIP.Caption:='Anzeigetafel - IP'; PerAnzeigePort:=TXTEdit.Create(self,Peripherie,105); PerAnzeigePort.Caption:='Anzeigetafel - Port'; end; procedure TEinstellungen.Enter(Sender: TObject); begin InfBenutzer.Text:=DM.Benutzer; InfComputer.Text:=DM.Computer; DtbTreiber.Text:=DM.Datenbank.Treiber; DtbServer.Text:=DM.Datenbank.Server; DtbName.Text:=DM.Datenbank.Name; end; end. Mein zweites Problem im Zusammenhang mit dem ToolBar ist, dass die Zuweisung
Delphi-Quellcode:
ebenfalls nicht funktioniert, da "dsGradient" einmal in ExtCtrls als
TlBr.DrawingStyle:=dsGradient;
TBandDrawingStyle = (dsNormal, dsGradient) und einmal in ComCtrls als TTBDrawingStyle = (dsNormal, dsGradient) deklariert wird. Was für ein Scheiß! |
Re: Zur LZ erzeugter ToolBar wird nicht angezeigt
Ein TPanel ist eine TWinControl und muss daher einen gesetzten Parent haben damit es sichtbar ist.
Bei dsGradient musst du halt den richtigen Unit-Qualifier nehmen, also ExtCtrls.dsGradient oder ComCtrls.dsGradient. |
Re: Zur LZ erzeugter ToolBar wird nicht angezeigt
Zitat:
|
Re: Zur LZ erzeugter ToolBar wird nicht angezeigt
Ja, der Punkt ist in Delphi definitiv ueberbelegt. In C++ hat man "->", "::" und ".".
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:59 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 by Thomas Breitkreuz