Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
Delphi 10 Seattle Enterprise
|
AW: XE7: Frame soll Aktion im Hauptformular auslösen
16. Mai 2015, 18:36
Kinder, Kinder, ihr müsst auch mehr OOP denken
Delphi-Quellcode:
unit Form.Main;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Vcl.StdCtrls, Frame.Sub;
type
TMainForm = class( TForm )
PageControl1: TPageControl;
TabSheet1: TTabSheet;
// Memo auf den Tab klatschen
Memo1: TMemo;
TabSheet2: TTabSheet;
// SubFrame auf den Tab klatschen
SubFrame1: TSubFrame;
// Doppelklick auf SubFrame1.CheckBox1
procedure SubFrame1CheckBox1Click( Sender: TObject );
private
protected
procedure DoShow; override;
public
end;
var
MainForm: TMainForm;
implementation
{$R *.dfm}
procedure TMainForm.DoShow;
begin
inherited;
// nur damit der Startwert für die CheckBox passt
SubFrame1.CheckBox1.Checked := Memo1.Enabled;
end;
procedure TMainForm.SubFrame1CheckBox1Click( Sender: TObject );
begin
Memo1.Enabled := SubFrame1.CheckBox1.Checked;
end;
end.
Der Frame selber ist ganz dumm und kann quasi nix:
Delphi-Quellcode:
unit Frame.Sub;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TSubFrame = class(TFrame)
CheckBox1: TCheckBox;
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
implementation
{$R *.dfm}
end.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
Geändert von Sir Rufo (16. Mai 2015 um 18:41 Uhr)
|
|
Zitat
|