www.pudn.com > vod2007.rar > Unit_BFLBForm.cpp


//--------------------------------------------------------------------------- 
 
#include  
#pragma hdrstop 
 
#include "Unit_BFLBForm.h" 
//--------------------------------------------------------------------------- 
#pragma package(smart_init) 
#pragma resource "*.dfm" 
TfrmBFLB *frmBFLB; 
extern AnsiString strGM; 
extern int iForms; 
//--------------------------------------------------------------------------- 
__fastcall TfrmBFLB::TfrmBFLB(TComponent* Owner) 
        : TForm(Owner) 
{ 
   lstGD->Clear(); 
   status = 1;  //原唱 
   Muted = false; 
} 
//--------------------------------------------------------------------------- 
void TfrmBFLB::InitPages(int value) 
{ 
   if(vecTemp.size() > value) 
      edtPages->Text = "第" + IntToStr(curPages) + "页/共" + IntToStr(Pages) + "页"; 
   else if(vecTemp.size() > 0) 
      edtPages->Text = "第1页/共1页"; 
   else if(vecTemp.size() == 0) 
      edtPages->Text = "第0页/共0页"; 
} 
void TfrmBFLB::InitList(int begin, int last) 
{ 
   lstGD->Clear(); 
   while(begin != last) 
   { 
      lstGD->Items->Add(vecTemp[begin++]); 
   } 
} 
//--------------------------------------------------------------------------- 
 
void __fastcall TfrmBFLB::imgPageDownMouseUp(TObject *Sender, 
      TMouseButton Button, TShiftState Shift, int X, int Y) 
{ 
   imgPageDown->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\左排\\下页.jpg"); 
} 
//--------------------------------------------------------------------------- 
 
void __fastcall TfrmBFLB::imgPageDownMouseDown(TObject *Sender, 
      TMouseButton Button, TShiftState Shift, int X, int Y) 
{ 
   imgPageDown->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\左排\\下页-1.jpg"); 
} 
//--------------------------------------------------------------------------- 
 
void __fastcall TfrmBFLB::imgDeleteMouseDown(TObject *Sender, 
      TMouseButton Button, TShiftState Shift, int X, int Y) 
{ 
   imgDelete->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\删除-1.jpg"); 
} 
//--------------------------------------------------------------------------- 
void __fastcall TfrmBFLB::imgDeleteMouseUp(TObject *Sender, 
      TMouseButton Button, TShiftState Shift, int X, int Y) 
{ 
   imgDelete->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\删除.jpg"); 
} 
//--------------------------------------------------------------------------- 
void __fastcall TfrmBFLB::imgRepeatMouseDown(TObject *Sender, 
      TMouseButton Button, TShiftState Shift, int X, int Y) 
{ 
    imgRepeat->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\重播-1.jpg"); 
} 
//--------------------------------------------------------------------------- 
void __fastcall TfrmBFLB::imgRepeatMouseUp(TObject *Sender, 
      TMouseButton Button, TShiftState Shift, int X, int Y) 
{ 
    imgRepeat->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\重播.jpg"); 
} 
//--------------------------------------------------------------------------- 
void __fastcall TfrmBFLB::imgAVolMouseDown(TObject *Sender, 
      TMouseButton Button, TShiftState Shift, int X, int Y) 
{ 
    imgAVol->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\增音量-1.jpg"); 
} 
//--------------------------------------------------------------------------- 
void __fastcall TfrmBFLB::imgAVolMouseUp(TObject *Sender, 
      TMouseButton Button, TShiftState Shift, int X, int Y) 
{ 
    imgAVol->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\增音量.jpg"); 
} 
//--------------------------------------------------------------------------- 
void __fastcall TfrmBFLB::imgDVolMouseUp(TObject *Sender, 
      TMouseButton Button, TShiftState Shift, int X, int Y) 
{ 
    imgDVol->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\减音量.jpg"); 
} 
//--------------------------------------------------------------------------- 
void __fastcall TfrmBFLB::imgDVolMouseDown(TObject *Sender, 
      TMouseButton Button, TShiftState Shift, int X, int Y) 
{ 
    imgDVol->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\减音量-1.jpg"); 
} 
//--------------------------------------------------------------------------- 
void __fastcall TfrmBFLB::imgNextMouseDown(TObject *Sender, 
      TMouseButton Button, TShiftState Shift, int X, int Y) 
{ 
   imgNext->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\下一首-1.jpg"); 
} 
//--------------------------------------------------------------------------- 
void __fastcall TfrmBFLB::imgNextMouseUp(TObject *Sender, 
      TMouseButton Button, TShiftState Shift, int X, int Y) 
{ 
   imgNext->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\下一首.jpg"); 
} 
//--------------------------------------------------------------------------- 
void __fastcall TfrmBFLB::imgStreamMouseDown(TObject *Sender, 
      TMouseButton Button, TShiftState Shift, int X, int Y) 
{ 
   imgStream->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\原伴唱-1.jpg"); 
} 
//--------------------------------------------------------------------------- 
void __fastcall TfrmBFLB::imgStreamMouseUp(TObject *Sender, 
      TMouseButton Button, TShiftState Shift, int X, int Y) 
{ 
   imgStream->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\原伴唱.jpg"); 
} 
//--------------------------------------------------------------------------- 
void __fastcall TfrmBFLB::imgPageUpMouseDown(TObject *Sender, 
      TMouseButton Button, TShiftState Shift, int X, int Y) 
{ 
   imgPageUp->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\左排\\上页-1.jpg"); 
} 
//--------------------------------------------------------------------------- 
 
void __fastcall TfrmBFLB::imgPageUpMouseUp(TObject *Sender, 
      TMouseButton Button, TShiftState Shift, int X, int Y) 
{ 
   imgPageUp->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\左排\\上页.jpg"); 
} 
 
void __fastcall TfrmBFLB::imgEnterMouseDown(TObject *Sender, 
      TMouseButton Button, TShiftState Shift, int X, int Y) 
{ 
   imgEnter->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\左排\\确定-1.jpg"); 
} 
//--------------------------------------------------------------------------- 
 
void __fastcall TfrmBFLB::imgEnterMouseUp(TObject *Sender, 
      TMouseButton Button, TShiftState Shift, int X, int Y) 
{ 
   imgEnter->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\左排\\确定.jpg"); 
} 
void __fastcall TfrmBFLB::lblHomeClick(TObject *Sender) 
{ 
   this->Visible = false; 
   frmHome->Visible = true;         
} 
//--------------------------------------------------------------------------- 
 
void __fastcall TfrmBFLB::lblBackClick(TObject *Sender) 
{ 
   switch(iForms) 
   { 
      case 0: 
         this->Visible = false; 
         frmHome->Visible = true; 
         break; 
      case 1: 
         this->Visible = false; 
         frmPYXZ->Visible = true; 
         break; 
      case 2: 
         Dm->adoGDXZ->First();       //将歌单选择画面纪录移动到头部 
         this->Visible = false; 
         frmGDXZ->Visible = true; 
         break; 
      case 3: 
         this->Visible = false; 
         frmPYXZ->Visible = true; 
   } 
} 
//--------------------------------------------------------------------------- 
 
void __fastcall TfrmBFLB::FormActivate(TObject *Sender) 
{ 
   if(!strGM.IsEmpty()) 
   { 
      curPages = 1; 
      vecTemp.push_back(strGM.c_str()); 
      Count = vecTemp.size(); 
      if( Count > 13) 
      { 
         if((Others = Count % 13) == 0) 
         { 
            Pages = Count / 13; 
         }else{ 
            Pages = Count / 13 + 1; 
         } 
         InitList(0, 13); 
      }else{ 
         lstGD->Items->Add(strGM); 
      } 
      InitPages(13); 
      strGM = ""; 
   } 
} 
//--------------------------------------------------------------------------- 
 
void __fastcall TfrmBFLB::imgDeleteClick(TObject *Sender) 
{ 
   if(lstGD->Items->Count > 0) 
   { 
      lstGD->Items->Delete(lstGD->ItemIndex); 
   } 
} 
//--------------------------------------------------------------------------- 
 
void __fastcall TfrmBFLB::imgPageDownClick(TObject *Sender) 
{ 
   if(Count > 13 && curPages + 1 < Pages) 
   { 
      curPages++; 
      InitPages(13); 
      InitList(13, 13 * 2); 
   }else if( Count > 13 && curPages + 1 == Pages){ 
      curPages++; 
      InitPages(13); 
      InitList(Count - Others, Count); 
   } 
} 
//--------------------------------------------------------------------------- 
 
void __fastcall TfrmBFLB::imgPageUpClick(TObject *Sender) 
{ 
   if(Count > 13 && curPages > 1) 
   { 
      curPages--; 
      InitPages(13); 
      if(curPages == Pages) 
      { 
         InitList(Count - 13 - Others, Count - Others); 
      } else 
         InitList((curPages - 1) * 13, curPages * 13); 
 
   } 
} 
//--------------------------------------------------------------------------- 
 
void __fastcall TfrmBFLB::RePlay(TObject *Sender) 
{ 
   if(frmHome->mplayer->TMPGetStatusMode() != MCI_MODE_PLAY) 
   { 
       if(lstGD->Items->Count > 0) 
       { 
          AnsiString songname = lstGD->Items->Strings[0]; 
          Dm->adoBFLB->Close(); 
          Dm->adoBFLB->SQL->Clear(); 
          Dm->adoBFLB->SQL->Add("select 路径1, wjm, bc, yc from song where gm = '" + songname + "'"); 
          Dm->adoBFLB->Open(); 
 
          AnsiString path = Dm->adoBFLB->Fields->Fields[0]->AsString; 
          AnsiString file = Dm->adoBFLB->Fields->Fields[1]->AsString; 
          bc = Dm->adoBFLB->Fields->Fields[2]->AsString; 
          yc = Dm->adoBFLB->Fields->Fields[3]->AsString; 
          //frmHome->mplayer->TMPOpen("\\\\Larry\\c\\陈升\\北京一夜.mpg"); 
 
          TrackBar1->Position = 2500; 
          if (FileExists(path + file)) 
          { 
             frmHome->mplayer->TMPOpen(path + file); 
             frmHome->mplayer->TMPSetAudioVolume(2500); 
          //Panel1->Top = -100; 
          //Panel1->Left = -100; 
          //mplayer->TMPSetDisplay(Panel1->Handle); 
             PlayMode(yc); 
             frmHome->mplayer->TMPPlay(); 
          }else 
             MessageBox(frmBFLB->Handle, "指定的文件不存在", "错误", MB_OK); 
       } 
   } 
} 
//--------------------------------------------------------------------------- 
 
void __fastcall TfrmBFLB::Pause(TObject *Sender) 
{ 
   if(frmHome->mplayer->TMPGetStatusMode() == MCI_MODE_PLAY) 
   { 
      imgPause->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\播放.jpg"); 
      frmHome->mplayer->TMPause(); 
   } else { 
      imgPause->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\暂停.jpg"); 
      frmHome->mplayer->TMPPlay(); 
 
   } 
} 
//--------------------------------------------------------------------------- 
void __fastcall TfrmBFLB::Next(TObject *Sender) 
{ 
   if(vecTemp.size() == 1) 
   { 
      lstGD->Clear(); 
      RePlay(NULL); 
   }else{ 
      for( int i = 0; i < vecTemp.size() - 1; ++i ) 
      { 
         vecTemp[i] = vecTemp[i + 1]; 
      } 
      vecTemp.pop_back(); 
      InitPages(13); 
      if(vecTemp.size() > 13) 
         InitList(0, 13); 
      else 
         InitList(0, vecTemp.size()); 
      if(frmHome->mplayer->TMPGetStatusMode() == MCI_MODE_PLAY) 
         Pause(NULL); 
      RePlay(NULL); 
   } 
} 
//--------------------------------------------------------------------------- 
void TfrmBFLB::PlayMode(AnsiString mode) 
{ 
      if(mode == "左") 
      { 
         frmHome->mplayer->TMPSetAudioSourceLeft(); 
      }else if(mode == "右"){ 
         frmHome->mplayer->TMPSetAudioSourceRight(); 
      }else if(mode == "1"){ 
         frmHome->mplayer->TMPSetAudioOff(); 
         frmHome->mplayer->TMPSetStream(0); 
         frmHome->mplayer->TMPSetAudioOn(); 
      }else if(mode == "2"){ 
         frmHome->mplayer->TMPSetAudioOff(); 
         frmHome->mplayer->TMPSetStream(1); 
         frmHome->mplayer->TMPSetAudioOn(); 
      }else if(mode == "3"){ 
         frmHome->mplayer->TMPSetAudioOff(); 
         frmHome->mplayer->TMPSetStream(2); 
         frmHome->mplayer->TMPSetAudioOn(); 
      } 
} 
 
void __fastcall TfrmBFLB::imgStreamClick(TObject *Sender) 
{ 
   switch(status) 
   { 
      case 0:     //伴唱 
         PlayMode(bc); 
         status = 1; 
         break; 
      case 1:     //原唱 
         PlayMode(yc); 
         status = 0; 
   } 
} 
 
//--------------------------------------------------------------------------- 
 
void __fastcall TfrmBFLB::DVol(TObject *Sender) 
{  //减音量 
   if(frmHome->mplayer->TMPGetStatusMode() == MCI_MODE_PLAY) 
   { 
      TrackBar1->Position -= TrackBar1->Frequency; 
      frmHome->mplayer->TMPSetAudioVolume(TrackBar1->Position); 
   } 
} 
//--------------------------------------------------------------------------- 
 
void __fastcall TfrmBFLB::AVol(TObject *Sender) 
{  //加音量 
   if(frmHome->mplayer->TMPGetStatusMode() == MCI_MODE_PLAY) 
   { 
      TrackBar1->Position += TrackBar1->Frequency; 
      frmHome->mplayer->TMPSetAudioVolume(TrackBar1->Position); 
   } 
} 
//--------------------------------------------------------------------------- 
 
void __fastcall TfrmBFLB::Mute(TObject *Sender) 
{   //静音 
   if(frmHome->mplayer->TMPGetStatusMode() == MCI_MODE_PLAY) 
   { 
      if(Muted) 
      { 
         Muted = false; 
         frmHome->mplayer->TMPSetAudioOn(); 
         imgMute->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\静音.jpg"); 
      }else{ 
         Muted = true; 
         frmHome->mplayer->TMPSetAudioOff(); 
         imgMute->Picture->LoadFromFile(".\\bmp\\紫红\\简体\\右排\\静音-1.jpg"); 
      } 
   } 
} 
//--------------------------------------------------------------------------- 
 
void __fastcall TfrmBFLB::imgRepeatClick(TObject *Sender) 
{ 
   RePlay(NULL);         
} 
//---------------------------------------------------------------------------