![]() |
TPanel.Create PROBLEM!!!
Moin,
ich habe Folgendes gemacht: -ich habe eine Klasse erstellt -diese Klasse ist eine Unterklasse vom normalen Panel -ich möchte panels erstellen, in dem ich auf ein schon vorhandenes Panel klicke -es kommen keine Fehlermeldungen, wenn ich das Programm starte -PROBLEM: Die Pannels sind unsichtbar, sind aber vorhanden. hier ist der Quellcode von der Unterklasse, die ich erstellt habe: ------------------------------------------------------------------------------------------------------------------
Delphi-Quellcode:
----------------------------------------------------------------------------------------
unit UBluePanel;
interface uses ExtCtrls, Classes, Graphics, Forms, Controls; type TBluePanel = class(TPanel) public constructor Create (AOwner: TComponent); override; end; implementation constructor TBluePanel.Create (AOwner: TComponent); begin inherited Create (AOwner); Color := clBlue; Caption := 'Blau'; Height := 40; Width := 185; BorderStyle := bsNone; BorderWidth := 1; BevelOuter := bvNone; BevelInner := bvRaised; BevelWidth := 4; Visible := True; end; end. und in dieser Procedure erstelle ich das BluePanel: ----------------------------------------------------------------------------------------
Delphi-Quellcode:
-----------------------------------------------------------------------------------------
procedure TFPanels.POwnerClick(Sender: TObject);
begin BluePanel := TBluePanel.Create(FPanels); BluePanel.Autosize := true; BluePanel.Left := 10; BluePanel.Top := top1; BluePanel.Show; {ich habe auch "BluePanel.Visible := true" ausprobiert} BluePanel.Parent := FPanels; top1 := top1+50; end; "top1" ist eine variable, die beim erstellen der Form auf 50 gesetzt wird. ich habe als Parent vom BluePanel schon alles ausprobiert aber es erscheint eifach nicht. Ich würde mich sehr über Lösungsvorschläge freuen. mfg DragonDrake [edit=mkinzler]Delphi-Tags eingefügt Mfg, mkinzler[/edit] |
Re: TPanel.Create PROBLEM!!!
Eventuell den Parent vor dem Show setzen?
|
Re: TPanel.Create PROBLEM!!!
Das macht Sinn, außerdem würde ich statt einer benannten Instanz self verwenden.
|
Re: TPanel.Create PROBLEM!!!
Ich habe schon alles was es in meinem Programm gibt statt self eingesetzt und nichts funktioniert.
Den Parent hab ich auch mehrmals geändert. Ich weiß nicht woran das liegt. |
Re: TPanel.Create PROBLEM!!!
Zitat:
Delphi-Quellcode:
procedure TFPanels.POwnerClick(Sender: TObject);
begin BluePanel := TBluePanel.Create(FPanels); BluePanel.Parent := FPanels; // Das ist jetzt nach oben gewandert BluePanel.Autosize := true; BluePanel.Left := 10; BluePanel.Top := top1; BluePanel.Show; {ich habe auch "BluePanel.Visible := true" ausprobiert} top1 := top1+50; end; |
Re: TPanel.Create PROBLEM!!!
Wo wird das Parent im Konstruktor der Klasse gesetzt?
|
Re: TPanel.Create PROBLEM!!!
Zitat:
|
Re: TPanel.Create PROBLEM!!!
Man kann leider in den Constructor kein Parent einbauen :wall:
|
Re: TPanel.Create PROBLEM!!!
Also das:
Delphi-Quellcode:
Funktioniert bei mir ohne Probleme. Das BluePanel wird dabei auf einem normalen Panel erzeugt.
type TBluePanel = class(TPanel)
public constructor Create (AOwner: TComponent); override; end; implementation {$R *.dfm} { TBluePanel } constructor TBluePanel.Create(AOwner: TComponent); begin inherited; Color := clBlue; Caption := 'Blau'; Height := 40; Width := 185; BorderStyle := bsNone; BorderWidth := 1; BevelOuter := bvNone; BevelInner := bvRaised; BevelWidth := 4; Visible := True; end; procedure TForm2.Button1Click(Sender: TObject); var bp: TBluePanel; begin bp := TBluePanel.Create(Self); bp.Parent := Panel1; end; Welchen Wert hat iTop bei dir? Liegt der eventuell ausserhalb der Form bzw. des Panels auf dem die BluePanels erzeugt werden?? |
Re: TPanel.Create PROBLEM!!!
ich kenne jetzt das Problem :spin2: :spin2: :spin2: !!!
BluePanel muss eine lokale Variable sein und darf keine Public wariable sein. trotzdem danke dass ihr versucht habt das problem zu erkennen. mfg DragonDrake |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:36 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