AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Array-Eigenschaften in eigenen Komponenten? Wie?

Array-Eigenschaften in eigenen Komponenten? Wie?

Ein Thema von mjenke · begonnen am 21. Okt 2003 · letzter Beitrag vom 22. Okt 2003
 
mjenke

Registriert seit: 28. Mär 2003
Ort: Bonn
131 Beiträge
 
#1

Array-Eigenschaften in eigenen Komponenten? Wie?

  Alt 21. Okt 2003, 07:12
Guten Morgen, alle miteinander!

Ich habe da ein kleines Problem, was Array-Eigenschaften innerhalb einer eigenen Komponente angeht, bei dem ich aus der Delphi-Hilfe nicht schlau werde (stehe vielleicht nur auf dem Schlauch). Vielleicht könnt Ihr mir helfen.

Hier das Problem:
Ich habe eine Komponente, die ich TsvListe nenne, die von der standardmässigen TListBox abgeleitet ist. Ich möchte den Inhalt der Liste in mehreren Spalten anzeigen, was auch gut funktioniert. Irgendwo hier aus dem Forum habe ich mir mal einen OnDrawItem-Routine herausgesucht, mit der ich genau das realisieren kann. Allerdings brauche ich dafür die Breiten der einzelnen Spalten, und genau die möchte ich in einem eigenen Feld dieser Klasse ablegen und als Eigenschaft zur Entwurfszeit setzen können. Mit anderen Worten, was ich brauche ist eigentlich folgendes:

Delphi-Quellcode:
type
  TsvListe = class (TListBox)
    protected
      FColWidths: ARRAY OF INTEGER;
      ...
    published
      property ColWidths: ARRAY OF INTEGER read FColWidths write SetColWidths
      ...
   end;
Grundsätzlich zumindest einmal. Aus der Delphi-Hilfe habe ich entnommen, dass ich das so nicht realisieren kann, sondern nur über indizierte Properties, die dann wohl irgendwie folgendermassen eingebaut werden:

Delphi-Quellcode:
public
  property ColWidths[Index: Integer]: INTEGER read getColWidths write setColWidths
Aber daraus werde ich nicht so wirklich schlau. Zumindest habe ich es nicht hinbekommen, dass es auch nur irgendwie funktioniert hat. Vor allem: wie spreche ich das Array FColWidths innerhalb der Methoden getColWidths und setColWidths an? Wie stelle ich sicher, dass der übergebene Index innerhalb der Grenzen des Arrays liegt? Wie kann ich das Array dynamisch anpassen, oder muss ich ein Array fester Grösse vorgeben?

Wie Ihr seht hat mich dieses Thema ein wenig verwirrt, und ich stehe im Augenblick wie der sprichwörtliche "Ox vorm Berg".

Zusammendfassend gesagt: Wie erstelle ich eine Array-Eigenschaft (Integer), die ich zur Entwurfszeit mit Werten füllen kann?

Wäre klasse, wenn Ihr mir helfen könntet!


Matthias
Matthias Jenke
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 11:50 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