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

📄 lyricbar.pas

📁 超级播放器 -- 软件特点 -- 功能齐全 操作简便 绿色环保
💻 PAS
📖 第 1 页 / 共 2 页
字号:

  ScrollAble :=mnuScroll.Checked ;
  HeadPos:=8000;
end;

procedure TfrmLyricBar.FormDestroy(Sender: TObject);
begin
  lyricStrs.Free;
  lyricbmp.free;
end;

procedure TfrmLyricBar.FormHide(Sender: TObject);
begin
  timer1.Enabled :=false;
  Mainfrm.mnuLyricBox.Checked :=false;
end;

procedure TfrmLyricBar.N1Click(Sender: TObject);
begin
   mainfrm.showLyricEditorSbtnClick(nil);
end;

procedure TfrmLyricBar.Timer1Timer(Sender: TObject);
begin
   if ScrollAble then
   begin
    if Headpos>-LyricBmp.Height then
      HeadPos:=HeadPos-1
    else
      HeadPos:=paintbox1.ClientHeight;
   end;
   //更新画面
   UpdateView;
end;

procedure TfrmLyricBar.mnuScrollClick(Sender: TObject);
begin
  (sender as TMenuItem).Checked :=not (sender as TMenuItem).Checked;
  ScrollAble :=(sender as TMenuItem).Checked;
end;

procedure TfrmLyricBar.PaintBox1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if (button =mbleft) and (PressLeft=false) then
  begin
    pressLeft:=true;
    PressMoveY:=Y;
  end;
end;

procedure TfrmLyricBar.PaintBox1MouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if (button =mbleft) and (pressLeft) then
    pressLeft:=false;

end;

procedure TfrmLyricBar.PaintBox1MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  if pressLeft then
  begin
    Headpos:=HeadPos-(PressMoveY-Y);
    if HeadPos>Paintbox1.ClientHeight then
      HeadPos:= -(LyricBmp.Height-(HeadPos-Paintbox1.ClientHeight))
    else if HeadPos<-LyricBmp.Height then
      HeadPos:= Paintbox1.clientheight+ HeadPos+LyricBmp.Height;
    PressMoveY:=Y;
  end;
end;

procedure TfrmLyricBar.PaintBox1DblClick(Sender: TObject);
begin
  mnuScrollClick(mnuScroll);
end;

procedure TfrmLyricBar.N3Click(Sender: TObject);
var vFont:TFont;
begin
  if sender =N3 then
    vFont:=lbBackFont.Font
  else
    vFont:=lbFrontFont.Font;

  FontDialog1.Font :=vFont;
  if FontDialog1.Execute then
  begin
    vFont:= FontDialog1.Font;

    if sender =N3 then
      lbBackFont.Font:=vFont
    else
      lbFrontFont.Font:=vFont;
    updateLyric;
  end;

end;

procedure TfrmLyricBar.N6Click(Sender: TObject);
begin
  ColorDialog1.Color :=paintbox1.Color;
  if ColorDialog1.Execute then
  begin
    lyricbmp.Canvas.Brush.Color := ColorDialog1.Color;
    paintbox1.Color :=ColorDialog1.Color ;
    self.Color := ColorDialog1.Color ;
  end;
end;

  //加快滚动速度
procedure TfrmLyricBar.N8Click(Sender: TObject);
begin
   if timer1.Interval >10 then
   begin
     timer1.Interval :=timer1.Interval -10;
     N9.Enabled :=true;
   end;
   if timer1.Interval =10 then
     N8.Enabled :=false;
end;

   //减慢滚动速度
procedure TfrmLyricBar.N9Click(Sender: TObject);
begin
   if timer1.Interval <100 then
   begin
     timer1.Interval :=timer1.Interval +10;
     N8.Enabled :=true;
   end;
   if timer1.Interval =100 then
     N9.Enabled :=false;
end;

procedure TfrmLyricBar.N11Click(Sender: TObject);
begin
  (sender as TMenuItem).Checked :=not (sender as TMenuItem).Checked ;
  if (sender as TMenuItem).Checked then
  begin
    fTop:=self.Top;
    fLeft:=self.Left;
    fWidth:=self.Width;
    fHeight:=self.Height;

    if self.WindowState <>wsNormal then
      self.WindowState :=wsNormal;
    self.BorderStyle:=bsNone;
    self.Left :=0; self.Top :=0;
    self.Width :=screen.width;
    self.Height :=screen.height;
  end
  else
  begin
    self.BorderStyle:=bsSizeable ;
    self.Top :=fTop;
    self.Left :=fLeft;
    self.width :=fWidth;
    self.height :=fHeight;
  end;
end;

procedure TfrmLyricBar.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=vk_escape then
  begin
     if N11.Checked then
      N11Click(N11);
  end;
end;
procedure TfrmLyricBar.readSysInfo;
var
  registerTemp : TRegistry;
begin
  registerTemp := TRegistry.Create; //准备使用注册表
  with registerTemp do
    try
      RootKey:=HKEY_LOCAL_MACHINE; //存放在此根下
      OpenKey('Software\'+APP_TITLE,True);
      //是否显示曲目清单
  //    self.OnResize :=nil;
      if ValueExists('LWinWidth') then
        self.width :=ReadInteger('LWinWidth')
      else
      begin
        WriteInteger('LWinWidth',374 );
        self.width :=374;
      end;
      if ValueExists('LWinHeight') then
        self.Height :=ReadInteger('LWinHeight')
      else
      begin
        WriteInteger('LWinHeight',343 );
        self.Height :=343;
      end;
      self.Left :=(screen.Width -self.Width ) div 2;
      self.Top :=(screen.Height -self.Height ) div 2;
      //背景颜色
      if valueExists('LBackClr') then
      begin
        lyricbmp.Canvas.Brush.Color := ReadInteger('LBackClr');
        paintbox1.Color := ReadInteger('LBackClr') ;
        self.Color :=ReadInteger('LBackClr');
      end
      else
      begin
        WriteInteger('LBackClr',self.color);
        lyricbmp.Canvas.Brush.Color := clBlack;
        paintbox1.Color := clBlack ;
        self.Color := clBlack ;
      end;

      //固定字体
      if valueExists('LBackFontClr') then
        lbBackFont.Font.Color := ReadInteger('LBackFontClr')
      else
        WriteInteger('LBackFontClr',lbBackFont.Font.Color) ;
      if valueExists('LBackFontName') then
        lbBackFont.Font.Name := ReadString('LBackFontName')
      else
        WriteString('LBackFontName',lbBackFont.Font.Name) ;
      if valueExists('LBackFontSize') then
        lbBackFont.Font.Size := ReadInteger('LBackFontSize')
      else
        WriteInteger('LBackFontSize',lbBackFont.Font.Size) ;
      if valueExists('LBackFontCharset') then
        lbBackFont.Font.Charset := ReadInteger('LBackFontCharset')
      else
        Writeinteger('LBackFontCharset',lbBackFont.Font.Charset) ;

      //活动字体
      if valueExists('LFrontFontClr') then
        lbFrontFont.Font.Color := ReadInteger('LFrontFontClr')
      else
        WriteInteger('LFrontFontClr',lbFrontFont.Font.Color) ;
      if valueExists('LFrontFontName') then
        lbFrontFont.Font.Name := ReadString('LFrontFontName')
      else
        WriteString('LFrontFontName',lbFrontFont.Font.Name) ;
      if valueExists('LFrontFontSize') then
        lbFrontFont.Font.Size := ReadInteger('LFrontFontSize')
      else
        WriteInteger('LFrontFontSize',lbFrontFont.Font.Size) ;
      if valueExists('LFrontFontCharset') then
        lbFrontFont.Font.Charset := ReadInteger('LFrontFontCharset')
      else
        Writeinteger('LFrontFontCharset',lbFrontFont.Font.Charset) ;

      //是否滚动
      if valueExists('LScrollable') then
        mnuScroll.Checked := ReadBool('LScrollable')
      else
        WriteBool('LScrollable',mnuScroll.Checked) ;
      //滚动速度
      if valueExists('LScrollRate') then
        timer1.interval := ReadInteger('LScrollRate')
      else
        WriteInteger('LScrollRate',timer1.interval) ;


     // self.OnResize :=FormResize;
     // self.FormResize(nil);
    finally
      CloseKey;
      Free;
    end;
end;

procedure  TfrmLyricBar.SaveSysInfo;
var
  registerTemp : TRegistry;
begin
  registerTemp := TRegistry.Create; //准备使用注册表
  with registerTemp do
    try
      RootKey:=HKEY_LOCAL_MACHINE; //存放在此根下
      OpenKey('Software\'+APP_TITLE,True);
      WriteInteger('LWinWidth',self.Width );
      writeInteger('LWinHeight',self.Height);
      WriteInteger('LBackClr',self.Color);
      WriteInteger('LBackFontClr',lbBackFont.Font.Color);
      WriteString('LBackFontName',lbBackFont.Font.Name);
      WriteInteger('LBackFontSize',lbBackFont.Font.Size) ;
      WriteInteger('LBackFontCharset',lbBackFont.Font.Charset) ;

      WriteInteger('LFrontFontClr',lbFrontFont.Font.Color);
      WriteString('LFrontFontName',lbFrontFont.Font.Name);
      WriteInteger('LFrontFontSize',lbFrontFont.Font.Size) ;
      WriteInteger('LFrontFontCharset',lbFrontFont.Font.Charset) ;

      WriteBool('LScrollable',mnuScroll.Checked) ;
      WriteInteger('LScrollRate',timer1.interval) ;
    finally
      CloseKey;
      Free;
    end;
end;

procedure TfrmLyricBar.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  SaveSysInfo;
end;

end.

⌨️ 快捷键说明

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