Initial commit
This commit is contained in:
@@ -0,0 +1,258 @@
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#include <vcl.h>
|
||||
#pragma hdrstop
|
||||
|
||||
#include "GlobalUnit.h"
|
||||
#include "ImportFormUnit.h"
|
||||
//---------------------------------------------------------------------------
|
||||
#pragma package(smart_init)
|
||||
#pragma link "GeneralDialogPanel"
|
||||
#pragma link "LineEdit"
|
||||
#pragma link "TextButton"
|
||||
#pragma link "ComboBoxComponent"
|
||||
#pragma link "SkinTrackBar"
|
||||
#pragma link "CapButton"
|
||||
#pragma resource "*.dfm"
|
||||
TImportForm *ImportForm;
|
||||
//---------------------------------------------------------------------------
|
||||
__fastcall TImportForm::TImportForm(TComponent* Owner, String DefaultFile,
|
||||
int TS, int Tempo, int iMode)
|
||||
: TForm(Owner)
|
||||
{
|
||||
m_iMode = iMode;
|
||||
m_MediaFilePath->Text = DefaultFile;
|
||||
|
||||
MediaFilePath = DefaultFile;
|
||||
|
||||
DoFilePathChange(NULL);
|
||||
|
||||
m_RetrunValue = 0;
|
||||
|
||||
this->TS = TS;
|
||||
this->Tempo = Tempo;
|
||||
|
||||
this->m_TSTrackBar->Position = TS;
|
||||
this->m_TempoTrackBar->Position = Tempo;
|
||||
|
||||
if( iMode==1 )
|
||||
m_panGeneral->Caption = "插入音频片段";
|
||||
|
||||
for( int i=0; i<ComponentCount; i++ ){
|
||||
if(Components[i]->ClassNameIs( TLabel::ClassName() ) )
|
||||
((TLabel*)Components[i])->ControlStyle>>csOpaque;
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TImportForm::DoBrows(TObject *Sender)
|
||||
{
|
||||
TOpenDialog * pDlg = new TOpenDialog(NULL);
|
||||
pDlg->Options << ofFileMustExist;
|
||||
pDlg->Title = L"打开";
|
||||
pDlg->FileName = ExtractFileName(m_MediaFilePath->Text);
|
||||
pDlg->InitialDir = ExtractFilePath(m_MediaFilePath->Text);
|
||||
|
||||
pDlg->Filter = "mp3文件 (*.mp3)|*.MP3|Wave文件 (*.wav)|*.WAV";
|
||||
|
||||
if( m_iMode==0 )
|
||||
pDlg->Filter += "|midi文件 (*.mid)|*.MID";
|
||||
|
||||
if(ExtractFileExt(m_MediaFilePath->Text).CompareIC(".mid") == 0)
|
||||
{
|
||||
pDlg->FilterIndex = 3;
|
||||
}
|
||||
else if(ExtractFileExt(m_MediaFilePath->Text).CompareIC(".wav") == 0)
|
||||
{
|
||||
pDlg->FilterIndex = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
pDlg->FilterIndex = 1;
|
||||
}
|
||||
|
||||
if(pDlg->Execute(Handle))
|
||||
{
|
||||
m_MediaFilePath->Text = pDlg->FileName;
|
||||
MediaFilePath = pDlg->FileName;
|
||||
//DoFilePathChange(NULL);
|
||||
}
|
||||
|
||||
delete pDlg;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TImportForm::DoFilePathChange(TObject *Sender)
|
||||
{
|
||||
UnicodeString var_FilePath(m_MediaFilePath->Text);
|
||||
|
||||
MediaFilePath = var_FilePath;
|
||||
|
||||
//检查文件是否存在
|
||||
if(System::Ioutils::TFile::Exists(MediaFilePath))
|
||||
m_OKButton->Enabled = true;
|
||||
else
|
||||
m_OKButton->Enabled = false;;
|
||||
|
||||
if( m_iMode==0 && ( ExtractFileExt(var_FilePath).CompareIC(".wav") == 0
|
||||
|| ExtractFileExt(var_FilePath).CompareIC(".mp3") == 0)){
|
||||
///////////
|
||||
m_panGeneral->Height = 206;
|
||||
Height = 206;
|
||||
|
||||
m_TipsLabel->Top = 162;
|
||||
m_OKButton->Top = 155;
|
||||
m_CancelButton->Top = 155;
|
||||
|
||||
m_TSTrackBar->Visible = true;
|
||||
m_TempoTrackBar->Visible = true;
|
||||
|
||||
m_TSLabel->Visible = true;
|
||||
m_TempoLabel->Visible = true;
|
||||
|
||||
m_TipsLabel->Visible = true;
|
||||
|
||||
m_ShowTempo->Visible = true;
|
||||
|
||||
ts_44->Visible = true;
|
||||
ts_34->Visible = true;
|
||||
ts_24->Visible = true;
|
||||
ts_68->Visible = true;
|
||||
|
||||
m_ShowTempoMin->Visible = true;
|
||||
m_ShowTempoMax->Visible = true;
|
||||
m_TempoUpDown->Visible = true;
|
||||
}
|
||||
else{
|
||||
m_TSTrackBar->Visible = false;
|
||||
m_TempoTrackBar->Visible = false;
|
||||
m_ShowTempo->Visible = false;
|
||||
|
||||
m_TSLabel->Visible = false;
|
||||
m_TempoLabel->Visible = false;
|
||||
|
||||
m_TipsLabel->Visible = false;
|
||||
|
||||
ts_44->Visible = false;
|
||||
ts_34->Visible = false;
|
||||
ts_24->Visible = false;
|
||||
ts_68->Visible = false;
|
||||
|
||||
m_ShowTempoMin->Visible = false;
|
||||
m_ShowTempoMax->Visible = false;
|
||||
m_TempoUpDown->Visible = false;
|
||||
|
||||
///////////
|
||||
m_panGeneral->Height = 140;
|
||||
Height = 140;
|
||||
|
||||
m_TipsLabel->Top = 96;
|
||||
m_OKButton->Top = 89;
|
||||
m_CancelButton->Top = 89;
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
int __fastcall TImportForm::ShowModal()
|
||||
{
|
||||
int var_Result = TForm::ShowModal();
|
||||
|
||||
TS = m_TSTrackBar->Position;
|
||||
Tempo = m_TempoTrackBar->Position;
|
||||
MediaFilePath = m_MediaFilePath->Text;
|
||||
|
||||
return var_Result;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
|
||||
void __fastcall TImportForm::DoOK(TObject *Sender)
|
||||
{
|
||||
m_RetrunValue = 1;
|
||||
Close();
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
|
||||
void __fastcall TImportForm::DoTempoTrackBar(TObject *Sender)
|
||||
{
|
||||
String var_Tempo(m_TempoTrackBar->Position);
|
||||
m_ShowTempo->Text = var_Tempo;
|
||||
//m_ShowTempo->Caption = var_Tempo;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TImportForm::DoTSTrackBar(TObject *Sender)
|
||||
{
|
||||
TS = m_TSTrackBar->Position;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
|
||||
void __fastcall TImportForm::DoCancel(TObject *Sender)
|
||||
{
|
||||
Close();
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
void __fastcall TImportForm::DoShowTempoChange(TObject *Sender)
|
||||
{
|
||||
if(m_ShowTempo->Text == "")
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int var_Tempo = m_ShowTempo->Text.ToInt();
|
||||
|
||||
if(var_Tempo < 50/*m_TSTrackBar->Min*/ || var_Tempo > 200/*m_TSTrackBar->Max*/)
|
||||
{
|
||||
//m_ShowTempo->Text = String(m_TSTrackBar->Position);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_TempoTrackBar->Position = var_Tempo;
|
||||
m_TempoUpDown->Position = var_Tempo;
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TImportForm::DoTempoUpDown(TObject *Sender, TUDBtnType Button)
|
||||
{
|
||||
if(Button == btNext)
|
||||
{
|
||||
m_TempoUpDown->Position += 1;
|
||||
m_TempoTrackBar->Position += 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_TempoUpDown->Position -= 1;
|
||||
m_TempoTrackBar->Position -= 1;
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TImportForm::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift)
|
||||
{
|
||||
switch( Key ){
|
||||
case VK_RETURN:
|
||||
if(m_OKButton->Enabled)
|
||||
ModalResult = mrOk;
|
||||
break;
|
||||
|
||||
case VK_ESCAPE:
|
||||
ModalResult = mrCancel;
|
||||
break;
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TImportForm::FormCreate(TObject *Sender)
|
||||
{
|
||||
m_panGeneral->Font->Size = g_szFont9;
|
||||
m_BrowsButton->FontSize = g_szFont9;
|
||||
m_OKButton->FontSize = g_szFont9;
|
||||
m_CancelButton->FontSize = g_szFont9;
|
||||
m_MediaFilePath->SetTextFont(g_strTxtFontName, g_szFont9);
|
||||
m_ShowTempo->SetTextFont(g_strTxtFontName, g_szFont9);
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user