AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

von ComboBox abgeleitete Komponente

Ein Thema von iphi · begonnen am 23. Sep 2022 · letzter Beitrag vom 23. Sep 2022
Antwort Antwort
iphi

Registriert seit: 13. Feb 2009
262 Beiträge
 
Delphi 7 Personal
 
#1

von ComboBox abgeleitete Komponente

  Alt 23. Sep 2022, 15:11
Delphi-Version: 7
Hallo,

ich stehe gerade auf dem Schlauch.
Ich möchte von TComboBox eine Komponente ableiten, im Wesentlichen so:
Delphi-Quellcode:
type
  TComComboBox = class(TComboBox)
  private
    Popup: TPopupMenu;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    property Items;
  end;
Der wesentliche Unterschied zur Originalkomponente:
Die ComComboBox soll bereits mit Systeminfos aufgefüllt sein (und ein Popup-Menü besitzen).

Mein Problem:
Wie und wo fülle ich meine Strings in die Items ein? Im Constructor? Wie?

Danke!
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: von ComboBox abgeleitete Komponente

  Alt 23. Sep 2022, 15:49
Delphi-Quellcode:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Menus;

type
  TXComboBox = class(TComboBox)
    strict private
      FPopupMenu: TPopupMenu;
    public
      constructor Create(AOwner: TComponent); override;
    public
      property PopupMenu: TPopupMenu read FPopupMenu write FPopupMenu;
  end;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    FComboBox: TXComboBox;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

constructor TXComboBox.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  Parent := TWinControl(AOwner);
  FPopupMenu := nil;
  Items.Add('Foo');
  Items.Add('Bar');
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
  FComboBox := TXComboBox.Create(Self);
  FComboBox.Left := 10;
  FComboBox.Top := 10;
end;

end.
Eventuell so?
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
iphi

Registriert seit: 13. Feb 2009
262 Beiträge
 
Delphi 7 Personal
 
#3

AW: von ComboBox abgeleitete Komponente

  Alt 23. Sep 2022, 16:13
Super, danke für die schnelle Hilfe!

Parent := TWinControl(AOwner); Der wars, den hatte ich vergessen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.115 Beiträge
 
Delphi 12 Athens
 
#4

AW: von ComboBox abgeleitete Komponente

  Alt 23. Sep 2022, 17:28
An dieser Stelle besser (AOwner as TWinControl), falls es doch mal kein WinControl ist.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (23. Sep 2022 um 17:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: von ComboBox abgeleitete Komponente

  Alt 23. Sep 2022, 17:58
Super, danke für die schnelle Hilfe!
Gerne!
An dieser Stelle besser (AOwner as TWinControl), falls es doch mal kein WinControl ist.
Gut aufgepasst!
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz