AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Events von untergeordneter Komponente werden nicht angezeigt
Thema durchsuchen
Ansicht
Themen-Optionen

Events von untergeordneter Komponente werden nicht angezeigt

Ein Thema von IIIMADDINIII · begonnen am 20. Feb 2010 · letzter Beitrag vom 20. Feb 2010
 
IIIMADDINIII
(Gast)

n/a Beiträge
 
#1

Events von untergeordneter Komponente werden nicht angezeigt

  Alt 20. Feb 2010, 15:48
Hallo mein Vater hat ein Problem.

Beim Erstellen einer eigenen Komponente (Tdateiformat) hat er Komponenten kreiert deren Funktion
es ist einen Dateibrowser darzustellen. Nun hat er die Komponenten im Objektinspektor dargestellt aber die dazugehörigen Events fehlen.

Hier ist der Code zu der Komponente:
Delphi-Quellcode:
unit dateiformat;

interface

uses
  Windows, Messages, SysUtils, Classes, Controls, FileCtrl;

type
  Tdateiformat = class(TCustomControl)
  private
    { Private declarations }
    con_filename: string;
    con_anz: integer;
    con_strings: Tstrings;
    con_openstndformat: boolean;
    con_drivecombobox: tdrivecombobox;
    con_directorylistbox: tdirectorylistbox;
    con_filtercombobox: Tfiltercombobox;
    con_filelistbox: Tfilelistbox;
  protected
  procedure paint; override;
    { Protected declarations }
  public
    { Public declarations }
    constructor create(aowner: tcomponent); override;
    procedure setfilename(filename: string); virtual;
    procedure setopenstndformat(openstndformat: boolean); virtual;
    procedure setstrings(strings: Tstrings); virtual;
    function openfile(filename: string = ''): boolean;
    procedure openusr(filename: string);
    procedure openusp(filename: string);
    procedure openspe(filename: string);
    procedure opendat(filename: string);
  published
     property align;
     property openstndformat: boolean read con_openstndformat write setopenstndformat;
     property filename: string read con_filename write setfilename;
     property anz: integer read con_anz;
     property strings: Tstrings read con_strings write setstrings;
     property Filelistbox: TFilelistbox read con_Filelistbox;
     property filtercombobox: Tfiltercombobox read con_filtercombobox;
     property directorylistbox: Tdirectorylistbox read con_directorylistbox;
     property drivecombobox: Tdrivecombobox read con_drivecombobox;
    { Published declarations }
  end;

procedure Register;

implementation

procedure Tdateiformat.openusr(filename: string);
begin
  //
end;

procedure Tdateiformat.openusp(filename: string);
var
  filn: Tstringlist;
begin
  filn := Tstringlist.Create;
  filn.LoadFromFile(filename);
  con_strings := filn;
end;

procedure Tdateiformat.openspe(filename: string);
begin
  //
end;

procedure Tdateiformat.opendat(filename: string);
begin
  //
end;

function tdateiformat.openfile(filename: string = ''): boolean;
begin
  result := true;
  if filename = 'then filename := con_filelistbox.FileName;
  if not fileexists(filename) then
  begin
    result := false;
    halt;
  end;
  if con_openstndformat = false then openusr(filename)
  else
  begin
    if uppercase(extractfileext(filename)) = '.USPthen openusp(filename)
    else if uppercase(extractfileext(filename)) = '.SPEthen openspe(filename)
    else if uppercase(extractfileext(filename)) = '.DATthen opendat(filename)
    else if uppercase(extractfileext(filename)) = '.TXTthen openusr(filename)
    else openusr(filename);
  end;
end;

procedure tdateiformat.paint;
begin
 con_drivecombobox.SetBounds(0, 0, round(0.25 * self.Width), 10);
 con_filtercombobox.SetBounds(0, con_drivecombobox.Height + con_directorylistbox.Height, round(0.25 * self.Width), 10);
 con_directorylistbox.SetBounds(0, con_drivecombobox.Height, round(0.25 * self.Width), self.Height - con_drivecombobox.Height - con_filtercombobox.Height);
 con_filelistbox.SetBounds(con_drivecombobox.Width, 0, round(0.75 * self.Width), self.Height);
end;

procedure Tdateiformat.setstrings(strings: Tstrings);
begin
  con_strings.Assign(strings);
  repaint;
end;

procedure Tdateiformat.setopenstndformat(openstndformat: boolean);
begin
  con_openstndformat := openstndformat;
  repaint;
end;

procedure Tdateiformat.setfilename(filename: string);
begin
  con_filename := filename;
  con_drivecombobox.Drive := extractfiledrive(filename)[1];
  con_directorylistbox.Directory := extractfiledir(filename);
  con_filelistbox.FileName := filename;
  repaint;
end;

constructor tdateiformat.create(aowner: tcomponent);
begin
  inherited create(aowner);
  con_drivecombobox := tdrivecombobox.Create(self);
  con_drivecombobox.Parent := self;
  con_directorylistbox := tdirectorylistbox.Create(self);
  con_directorylistbox.Parent := self;
  con_filtercombobox := tfiltercombobox.Create(self);
  con_filtercombobox.Parent := self;
  con_filelistbox := tfilelistbox.Create(self);
  con_filelistbox.Parent := self;
  con_drivecombobox.DirList := con_directorylistbox;
  con_directorylistbox.FileList := con_filelistbox;
  con_filtercombobox.Filter := 'USP-Datei|*.usp|SPE-Datei|*.spe|DAT-Datei|*.dat|TXT-Datei|*.txt|Alle Datein|*';
  con_filtercombobox.FileList := con_filelistbox;
  con_strings := Tstrings.Create;
  repaint;
end;

procedure Register;
begin
  RegisterComponents('Standard', [Tdateiformat]);
end;

end.
  Mit Zitat antworten Zitat
 


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 10:30 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