![]() |
AW: HyperButtons bzw HyperPanels erstellen (Delphi Anfänger)
Hatte ich gar nicht gesehen. Man könnte aber auch den Komponenten-Experten benutzen, das vermeidet solche Probleme oder sollte es zumindest.
|
AW: HyperButtons bzw HyperPanels erstellen (Delphi Anfänger)
Nungut, da drängt sich mir die Frage auf "Was ist das "Komponenten-Experten"" ?
|
AW: HyperButtons bzw HyperPanels erstellen (Delphi Anfänger)
Liste der Anhänge anzeigen (Anzahl: 1)
Komponente->Neue Komponente ...
|
AW: HyperButtons bzw HyperPanels erstellen (Delphi Anfänger)
Ich werd mich bei Gelegenheit mal genauer damit befassen.
Meine weiteren Fragen beziehen sich nun auf: -Was genau habe ich jetzt mit
Code:
erreicht? Ist das neue "HyperPanel" jetzt vorhanden wenn ich das Programm starte, vorrausgesetzt, ich behebe die restlichen Fehler?
constructor THyperPanel.Create(AOwner: TComponent);
BEGIN inherited Create(AOwner); Width := 100; Height := 100; Color:= clred; BorderStyle:= bsSingle; BevelWidth:=3; -Wie gebe ich jetzt diesem Panel eine Funktion, also anders gesagt, welcher Procedure(?)-Befehl wird für "OnMouseDown" gebraucht? (Wie sähe dieser aus?) Ich habe es mit:
Code:
probiert, bekomme jedoch da die aussage dass ein ";" erwartet wird statt dem "." bei " Procedure TMain.HyperPanelClick (Sender: TObject);"Procedure TMain.HyperPanelClick (Sender: TObject); begin close; end; |
AW: HyperButtons bzw HyperPanels erstellen (Delphi Anfänger)
Das HyperPanel ist nur dann vorhanden, wenn Du es als Komponente installierst und auf Dein Formular packst oder wenn Du es von Hand instanzierst.
|
AW: HyperButtons bzw HyperPanels erstellen (Delphi Anfänger)
Also um sicherzu gehen, dass ichs richtig verstanden habe.
Ich muss das jetzt geschrieben HyperPanel (Für den Fall, dass es sofort im Programm vorhanden sein soll) beispielsweise als "OnCreate" einfügen? für mich sähe das dann eigentlich so aus:
Code:
Jedoch werden dann noch "wirkliche Parameter" verlangt. Was für Parameter? Die Koordinaten? Wo werden diese reingeschrieben? (Muss bestimmt nach ziemlichen Anfängerfragen klingen, jedoch wurden meine bisher geschriebenen Programme vom ServerAdmin auf den Schulrechnern aus mir unerklärlichen Gründen gelöscht (weshalb ich nicht auf diese zurückgreifgen kann um mir da Rat zu holen) und so lang sind die Ferien noch nicht her, dass ich längere Zeit kein Informatik hatte.)
procedure THyperPanelCreate(Sender: TObject);
begin TMain.Create.THyperPanel; override; end; |
AW: HyperButtons bzw HyperPanels erstellen (Delphi Anfänger)
Am Besten registrierst du die Klasse in der IDE und verwendest diese dann wie jede andere Komponente
oder machst das im onCreate der Form. |
AW: HyperButtons bzw HyperPanels erstellen (Delphi Anfänger)
Das Problem ist Folgendes: Ich weiß nicht wie ich das Panel, das ich in Unit2 erstellt habe, als "OnCreate" in Unit1 schreiben kann. Ebenso Fehlt mir das Wissen, diesem Panel dann gewünschte Befehle zuzuweisen wie einem Button. Von "Klasse in der IDE registrieren" habe ich jezt auch das erste mal gehört und weiß damit leider nichts anzufanegn :(
Unit1
Code:
Unit2
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls,Unit2; type TMain = class(TForm) THyperPanel:TPanel; PnTestpanel: TPanel; BtCLose: TButton; procedure THyperPanelCreate(Sender: TObject); procedure BtCLoseClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Main: TMain; implementation {$R *.dfm} procedure THyperPanelCreate(Sender: TObject); begin TMain.Create.THyperPanel; override; end; procedure TMain.BtCLoseClick(Sender: TObject); begin close; end; end.
Code:
unit Unit2;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls; type THyperPanel = class ( TPanel) public constructor Create(AOwner:TComponent);override; { procedure HyperPanelClick;} end; implementation constructor THyperPanel.Create(AOwner: TComponent); BEGIN inherited Create(AOwner); Width := 100; Height := 100; Caption:='Hyper Button'; ParentColor:= False; Color:= clLime; BorderStyle:= bsSingle; BevelWidth:=3; end; { Procedure TMain.HyperPanelClick (Sender: TObject); begin close; end;} end. |
AW: HyperButtons bzw HyperPanels erstellen (Delphi Anfänger)
Du solltest Dir mal ein Grundlagentutorial durchlesen (nicht als Angriff gemeint)
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private procedure MyOnClick(Sender: TObject); { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation uses Unit2; {$R *.dfm} procedure TForm1.MyOnClick(Sender: TObject); begin ShowMessage(TComponent(Sender).ClassName) end; procedure TForm1.FormCreate(Sender: TObject); var ht:THyperPanel; begin ht:=THyperPanel.Create(self); ht.Parent := Self; ht.OnClick := MyOnClick; end; end. |
AW: HyperButtons bzw HyperPanels erstellen (Delphi Anfänger)
Doppelklick auf das Formular, dann erzeugt er die Methode und verknüpft diese mit dem Event
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls,Unit2; type TMain = class(TForm) THyperPanel:TPanel; PnTestpanel: TPanel; BtCLose: TButton; //procedure THyperPanelCreate(Sender: TObject); procedure FormCreate(Sender: TObject); procedure BtCLoseClick(Sender: TObject); private { Private-Deklarationen } HyperPanel: THyperPanel; public { Public-Deklarationen } end; var Main: TMain; implementation {$R *.dfm} {procedure THyperPanelCreate(Sender: TObject); begin TMain.Create.THyperPanel; override; end;} procedure TMain.FormCreate(Sender: TObject); begin HyperPanel := THyperPanel.Create( Self); HyperPanel.Parent := Self; HyperPanel.Top := 10; HyperPanel.Left := 10; end; procedure TMain.BtCLoseClick(Sender: TObject); begin close; end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:27 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