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

📄 scrolltxtmain.pas

📁 ScrollText_V1.0-自动字幕控件
💻 PAS
字号:
unit ScrollTxtMain;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ScrollText, ExtCtrls;

type
  TForm1 = class(TForm)
    ScrollText1: TScrollText;
    rgpDirect: TRadioGroup;
    rgpAlignment: TRadioGroup;
    rgpLayout: TRadioGroup;
    rgpSelectText: TRadioGroup;
    procedure rgpDirectClick(Sender: TObject);
    procedure rgpAlignmentClick(Sender: TObject);
    procedure rgpLayoutClick(Sender: TObject);
    procedure rgpSelectTextClick(Sender: TObject);
    procedure ScrollText1DblClick(Sender: TObject);
    procedure ScrollText1FrameScrolled(Direct: TScrollDirect;
      CurPos: Integer; var Abort: Boolean);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

const sSingleTxt =
    '自动字幕控件 - TScrollText  在指定位置显示滚动字幕 **********************';
const sMultiTxt  =
    '        自动字幕控件 - TScrollText'#13#10 +
    '作者: 顾中军'#13#10 +
    '版本: V1.02'#13#10 +
    '功能: 在指定位置显示滚动字幕'#13#10 +
    '用法:'#13#10 +
    '  1、Active:        用于设置控件是否处于活动状态'#13#10 +
    '  2、Interval:      用于设置字幕滚动周期(毫秒)'#13#10 +
    '  3、ScrollText:    用于设置滚动字幕'#13#10 +
    '  4、Step:          用于设置每次滚动像素点数'#13#10 +
    '  5、ScrollDirect:  用于指示滚动方向'#13#10 +
    '  6、其它属性及事件句柄的使用同TLabel控件'
    ;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Self.DoubleBuffered := True;   //减少闪动
end;

procedure TForm1.rgpDirectClick(Sender: TObject);
begin
  ScrollText1.ScrollDirection := TScrollDirect(rgpDirect.ItemIndex);
  rgpAlignment.ItemIndex      := Integer(ScrollText1.Alignment);
  rgpLayout.ItemIndex         := Integer(ScrollText1.Layout);
end;

procedure TForm1.rgpAlignmentClick(Sender: TObject);
begin
  ScrollText1.Alignment := TAlignment(rgpAlignment.ItemIndex);
  rgpAlignment.ItemIndex      := Integer(ScrollText1.Alignment);
end;

procedure TForm1.rgpLayoutClick(Sender: TObject);
begin
  ScrollText1.Layout := TTextLayout(rgpLayout.ItemIndex);
  rgpLayout.ItemIndex         := Integer(ScrollText1.Layout);
end;

procedure TForm1.rgpSelectTextClick(Sender: TObject);
begin
  if rgpSelectText.ItemIndex = 0 then
    ScrollText1.ScrollText := sSingleTxt
  else
    ScrollText1.ScrollText := sMultiTxt; 
end;

procedure TForm1.ScrollText1DblClick(Sender: TObject);
begin
  ScrollText1.Active := True;
end;

procedure TForm1.ScrollText1FrameScrolled(Direct: TScrollDirect;
  CurPos: Integer; var Abort: Boolean);
begin
  Abort := true;
  ScrollText1.Reset;
  ScrollText1.Active := True;
end;

end.

⌨️ 快捷键说明

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