Einzelnen Beitrag anzeigen

sir-archimedes

Registriert seit: 2. Jan 2006
Ort: Münster
167 Beiträge
 
Delphi 2006 Professional
 
#1

Frames mit neuen Eigenschaften/Ereignissen

  Alt 13. Jan 2006, 12:16
Hi,

ich möchte gerne ein Frame erstellen, das zusätzliche Eigenschaften/Ereignisse hat. Habe dazu folgende Struktur angelegt:

Delphi-Quellcode:
type
  TDocumentType = (dtInvoiceDetail, dtInvoice);
  TDeviceTypes = (dtPrinter, dtPDF, dtExcel);
  TPrintClickEvent = procedure (Sender: TObject; var PrintHandled : Boolean) of object;
  TBeforePrintEvent = procedure (Sender: TObject; DataID : Integer) of object;
  TPrintReport = Record
                   DeviceType : TDeviceTypes;
                   FileName : String;
                   DocumentType : TDocumentType;
                   StandardFileName : String;
                   ExportFileNameList : TStringList;
                   DocumentIDs : TList;
                 End;

  TPrintingFrame = class(TFrame)
    btnAbbrechen: TJvImgBtn;
    btnDrucken: TJvImgBtn;
    JvBevel1: TJvBevel;
    navPanel: TJvNavigationPane;
    NavPageDrucker: TJvNavPanelPage;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    cbPrinters: TJvComboBox;
    cbBinNames: TComboBox;
    cbPreview: TCheckBox;
    seCopyCount: TJvSpinEdit;
    NavPagePDF: TJvNavPanelPage;
    Label4: TLabel;
    FilenameEditPDF: TJvFilenameEdit;
    NavPageExcel: TJvNavPanelPage;
    Label5: TLabel;
    FilenameEditExcel: TJvFilenameEdit;
    procedure btnDruckenClick(Sender: TObject);
    procedure cbPrintersChange(Sender: TObject);
    procedure btnAbbrechenClick(Sender: TObject);
  private
    FPrintReport : TPrintReport;

    FReport : TppReport;
    FOnCancelClick : TNotifyEvent;
    FOnPrintClick : TPrintClickEvent;
    FOnAfterPrint : TNotifyEvent;
    FOnBeforePrint : TBeforePrintEvent;

    procedure GetStandardFileName(DocIDIndex : Integer = 0; SetIt : Boolean = false);
  public
    Procedure PrepareFrame(DocumentType : TDocumentType; Parameter1, Parameter2 : Integer);
  published
    Constructor Create(AOwner : TComponent); override;
    Destructor Destroy; override;
    Property Report : TppReport read FReport write FReport;
    Property PrintReport : TPrintReport read FPrintReport write FPrintReport;
    Property OnCancelClick : TNotifyEvent read FOnCancelClick write FOnCancelClick;
    Property OnPrintClick : TPrintClickEvent read FOnPrintClick write FOnPrintClick;
    Property OnAfterPrint : TNotifyEvent read FOnAfterPrint write FOnAfterPrint;
    Property OnBeforePrint : TBeforePrintEvent read FOnBeforePrint write FOnBeforePrint;
  end;
angelegt. So, lagere ich das Frame nun in ein Package aus und registriere ich es in der Tool-Palette, kann ich es verwenden, wie ich es gerne hätte. Das habe ich allerdings nicht vor - ich möchte nicht für jeden Mist ein neues Symbol in der Tool-Palette haben. Außerdem soll das Frame auch auf meine Datenbank zugreifen können und damit hätte ich sonst Probleme.

Nun gut - also habe ich es nicht ausgelagert, sondern binde es direkt in eine Form ein. Dort wird es auch schön angezeigt, allerdings kann ich auf die neuen Eigenschaften/Ereignisse nicht zugreifen. Wie kann ich das jedoch hinbekommen?

Gruß,
Dominik
  Mit Zitat antworten Zitat