精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VFP>>〖源码共赏〗>>〖MP3 和 VCD 播放器的源代码〗>>MP3 和 VCD 播放器的源代码.这个例子供面向对象编程参考.(三)

主题:MP3 和 VCD 播放器的源代码.这个例子供面向对象编程参考.(三)
发信人: coolyylu(GoodDay)
整理人: hunter__fox(2002-03-16 20:43:18), 站内信件
控制面板:

DEFINE CLASS PlayerPanel as BaseForm 
   *---- 边框
   BorderStyle = 0
   BorderColor = RGB(0 ,0 ,255)
   BorderWidth = 20 
   *---- 根对象
   oRoot = .F.
   *---- 是否粘附
   lStick = .T.
   *---- 自动居中
   AutoCenter = .T.
   *---- 顶层表单
   ShowWindow = 2
   AlwaysOnTop = .T.
   *----增加控件
   ADD OBJECT cmdStick as CommandButton WITH Caption = ">" ,SpecialEffect = 2 ,Width = 8 ,Height = 9 ,FontSize = 7 ,ToolTipText = '粘附'
   ADD OBJECT cmdHide as CommandButton WITH Caption = "-" ,SpecialEffect = 2 ,Width = 8 ,Height = 9 ,FontSize = 7
   ADD OBJECT cmdOpen as CommandButton WITH Caption = "增加" ,SpecialEffect = 2 ,AutoSize = .T. 
   ADD OBJECT cmdDel as CommandButton WITH Caption = "删除" ,SpecialEffect = 2 ,AutoSize = .T. 
   ADD OBJECT cmdPlay as CommandButton WITH Caption = "播放" ,SpecialEffect = 2 ,AutoSize = .T. 
   ADD OBJECT cmdMTV as CommandButton WITH Caption = "MTVP" ,SpecialEffect = 2 ,AutoSize = .T. 
   ADD OBJECT cmdLoadSongList as CommandButton WITH Caption = "加载" ,SpecialEffect = 2 ,AutoSize = .T. 
   ADD OBJECT cmdSave as CommandButton WITH Caption = "保存" ,SpecialEffect = 2 ,AutoSize = .T. 
   ADD OBJECT cmdReName as CommandButton WITH Caption = "改名" ,SpecialEffect = 2 ,AutoSize = .T. 
   ADD OBJECT cmdExit as CommandButton WITH Caption = "退出" ,SpecialEffect = 2 ,AutoSize = .T. 
   
   *---- 添加歌曲列表
   PROCEDURE cmdOpen.Click
      IF NOT  THISFORM.lStick
       thisform.Hide()
      ENDIF 
       thisform.oRoot.oSongList.LoadSongList()
   ENDPROC 
   *---- 删除歌曲
   PROCEDURE cmdDel.Click
      IF NOT  THISFORM.lStick
       thisform.Hide()
      ENDIF 
      thisform.oRoot.oSongList.DelSong()
   ENDPROC 
   *---- 播放歌曲
   PROCEDURE cmdPlay.Click
      IF NOT  THISFORM.lStick
       thisform.Hide()
      ENDIF 
      thisform.oRoot.oSongList.Play()
   ENDPROC 
   
   *---- 退出系统
   PROCEDURE cmdExit.Click
       thisform.oRoot.Release       
   ENDPROC 
   
   PROCEDURE cmdReName.Click
       thisform.oRoot.oSongList.ReName()
   ENDPROC 
   
   PROCEDURE cmdHide.Click
       ThisForm.Hide()
   ENDPROC 
   *---- 粘贴在歌曲列表的底端
   PROCEDURE cmdStick.Click
       IF this.Caption = '>'
          this.Caption = '<'
ThisForm.lStick = .F.
This.ToolTipText = '粘附'
ELSE
this.Caption = '>'
          ThisForm.lStick = .T.    
          This.ToolTipText = '离开'         
       ENDIF 
       IF ThisForm.lStick = .T.             
          ThisForm.Stick()
       ENDIF 
   ENDPROC 
   *---- 加载歌曲
   PROCEDURE cmdLoadSongList.Click
       ThisForm.oRoot.oSongList.LoadFavorSong()
   ENDPROC 
   PROCEDURE cmdSave.Click
       ThisForm.oRoot.oSongList.SaveFavorSong()          
   ENDPROC 
   *---- 播放MTV
   PROCEDURE cmdMTV.Click
       ThisForm.oRoot.oSongList.LoadMTV()   
       ThisForm.cmdPlay.Click()
   ENDPROC 
   
   PROCEDURE init 
       this.Position()
   ENDPROC 
   *---- 调整位置
   PROCEDURE Position       
       
       this.cmdOpen.Left = 0 
       this.cmdOpen.Top = this.cmdHide.Top + this.cmdHide.Height
       
       this.cmdDel.Left = this.cmdOpen.Width
       this.cmdDel.Top = this.cmdOpen.Top
       
       this.cmdPlay.Left = 0
       this.cmdPlay.Top =  this.cmdOpen.Top + this.cmdOpen.Height 
       
       this.cmdMTV.Top =  this.cmdOpen.Top + this.cmdOpen.Height 
       this.cmdMTV.Left = this.cmdPlay.Width 
       
       this.cmdLoadSongList.Top = this.cmdMTV.Top + this.cmdMTV.Height
       this.cmdLoadSongList.Left = 0
       
       this.cmdSave.Top = this.cmdLoadSongList.Top
       this.cmdSave.Left = this.cmdLoadSongList.Width
       
       this.cmdReName.Top = this.cmdLoadSongList.Top + this.cmdLoadSongList.Height
       this.cmdReName.Left = 0
       
       this.cmdExit.Top = this.cmdReName.Top 
       this.cmdExit.Left = this.cmdReName.Width
       
       this.Width = this.cmdOpen.Width  + this.cmdDel.Width
       this.Height = this.cmdHide.Height + this.cmdOpen.Height  + this.cmdPlay.Height + this.cmdLoadSongList.Height + this.cmdReName.Height
       
       this.cmdHide.Left = This.Width - This.cmdHide.Width
   ENDPROC 
   
   PROCEDURE SHOW
       LPARAMETERS nTop ,nLeft
       IF VARTYPE(nTop) = 'N'
       this.Left = nLeft
       this.Top = nTop       
       ENDIF 
   ENDPROC 
   
   
   *---- 设置根对象引用释放
   PROCEDURE Destroy
       this.oRoot = .F.
   ENDPROC 
     
   *---- 粘附
   PROCEDURE Stick
       This.Top = This.oRoot.oSongList.Height + This.oRoot.oSongList.Top - This.Height 
       This.Left = This.oRoot.oSongList.Width + This.oRoot.oSongList.Left - This.Width - 15         
   ENDPROC  
ENDDEFINE 

[关闭][返回]