⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 terndlis.pas

📁 delphi2007界面效果控件源码
💻 PAS
字号:
unit teRndLis;

interface

{$INCLUDE teDefs.inc}

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, 
  teTrLEdi, ComCtrls, Buttons, ExtCtrls, TransEff, teEditor, teModEdit,
  teRandom, teTrEfEd;

type
  TRndTrListEditor = class(TTransitionListEditorForm)
    procedure SpeedButtonDeleteClick(Sender: TObject);
  private
    OldTransitionEditor: TTransitionEditor;
    OldTransitionModalEditor: TTransitionModalEditor;
    OldteEditorInit: TTEEditorInit;

    procedure EditorInit(Control: TWinControl);
  protected
    function EditTransition(var Transition: TTransitionEffect): Boolean; override;
  public
    RandomTransition: TRandomTransition;

    procedure Initialize(ATransitionList: TTransitionList;
      AFormDesigner: TTEFormDesignerBase); override;
  end;

var
  RndTrListEditor: TRndTrListEditor;

implementation

{$R *.DFM}

uses teRender;

procedure TRndTrListEditor.EditorInit(Control: TWinControl);
var
  ChildModalEditor: TTransitionModalEditor;
  P: TPoint;
begin
  if Control <> nil then
  begin
    if(Control is TTransitionModalEditor) and
       Assigned(OldTransitionModalEditor) then
    begin
      ChildModalEditor := Control as TTransitionModalEditor;
      ChildModalEditor.Position := poDesigned;
      P := ControlClientOrigin(OldTransitionModalEditor);
      ChildModalEditor.Left     := P.x;
      ChildModalEditor.Top      := P.y;
    end;
    if Assigned(OldTransitionEditor) and Assigned(TransitionEditor) then
    begin
      TransitionEditor.ImageA .Picture.Assign(OldTransitionEditor.ImageA .Picture);
      TransitionEditor.ImageB .Picture.Assign(OldTransitionEditor.ImageB .Picture);
    end;
  end;

  if Assigned(OldteEditorInit) then
    OldteEditorInit(Control);
end;

function TRndTrListEditor.EditTransition(
  var Transition: TTransitionEffect): Boolean;
begin
  OldTransitionModalEditor := TransitionModalEditor;
  OldTransitionEditor      := TransitionEditor;
  OldteEditorInit          := teEditorInit;
  teEditorInit             := EditorInit;
  try
    Result := inherited EditTransition(Transition);
  finally
    teEditorInit             := OldteEditorInit;
    TransitionEditor         := OldTransitionEditor;
    TransitionModalEditor    := OldTransitionModalEditor;
    OldTransitionModalEditor := nil;
    OldTransitionEditor      := nil;
    OldteEditorInit          := nil;
  end;
end;

procedure TRndTrListEditor.Initialize(ATransitionList: TTransitionList;
  AFormDesigner: TTEFormDesignerBase);
begin
  inherited;

  ListViewTransitions.Columns[1].Width := 163;

  OldTransitionEditor      := nil;
  OldTransitionModalEditor := nil;
  OldteEditorInit          := nil;
end;

procedure TRndTrListEditor.SpeedButtonDeleteClick(Sender: TObject);
begin
  inherited;

  if RandomTransition.TransitionCount > 0
  then RandomTransition.SelectedIndex := ListViewTransitions.Selected.Index
  else RandomTransition.SelectedIndex := -1;
end;

end.

⌨️ 快捷键说明

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