ternded.pas

来自「delphi2007界面效果控件源码」· PAS 代码 · 共 81 行

PAS
81
字号
unit teRndEd;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  teTrEfEd, teForm, ComCtrls, StdCtrls, ExtCtrls, teCtrls, Buttons, TransEff,
  teEditor, teModEdit, teRandom, FormCont, teRndLis;

type
  TRandomTransitionEditor = class(TTransitionEffectEditor)
    PanelRandom: TEffectsPanel;
    RadioGroupMode: TRadioGroup;
    FormContainerList: TFormContainer;
  private
    RndTrListEditor: TRndTrListEditor;

    procedure BeforeTransition(Sender: TObject);
  protected
  public
    procedure Initialize(TransitionValue: TTransitionEffect); override;
    procedure ReadValues; override;
    procedure WriteValues; override;
    function  RandomTransition: TRandomTransition;
  end;

var
  RandomTransitionEditor: TRandomTransitionEditor;

implementation

{$R *.DFM}

uses teTrLEdi;

type
  TRandomTransitionHack = class(TRandomTransition);

procedure TRandomTransitionEditor.Initialize(TransitionValue: TTransitionEffect);
begin
  inherited;

  RandomTransition.OnBeforeTransition := BeforeTransition;
  RndTrListEditor :=
    TRndTrListEditor(FormContainerList.CreateShowForm(TRndTrListEditor, False));
  RndTrListEditor.RandomTransition := RandomTransition;

  RndTrListEditor.Initialize(
    TRandomTransitionHack(RandomTransition).FTransitions, nil);
end;

procedure TRandomTransitionEditor.BeforeTransition(Sender: TObject);
begin
  RndTrListEditor.SelectTransition(RandomTransition.SelectedTransition);
end;

procedure TRandomTransitionEditor.ReadValues;
begin
  inherited;

  RadioGroupMode.ItemIndex := Ord(RandomTransition.Mode);
end;

procedure TRandomTransitionEditor.WriteValues;
begin
  inherited;

  RandomTransition.Mode := TTERndMode(RadioGroupMode.ItemIndex);
end;

function TRandomTransitionEditor.RandomTransition: TRandomTransition;
begin
  Result := Transition as TRandomTransition;
end;

initialization

  RegisterClasses([TRandomTransitionEditor]);

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?