161 lines
5.9 KiB
C++
161 lines
5.9 KiB
C++
//---------------------------------------------------------------------------
|
|
|
|
#ifndef CompleteFormUnitH
|
|
#define CompleteFormUnitH
|
|
//---------------------------------------------------------------------------
|
|
#include <System.Classes.hpp>
|
|
#include <Vcl.Controls.hpp>
|
|
#include <Vcl.StdCtrls.hpp>
|
|
#include <Vcl.Forms.hpp>
|
|
#include <Vcl.ExtCtrls.hpp>
|
|
#include <Vcl.Imaging.jpeg.hpp>
|
|
#include <Vcl.Imaging.pngimage.hpp>
|
|
#include "PNGButton.hpp"
|
|
#include "CompletePanelUnit.h"
|
|
#include "CommonListboxUnit.h"
|
|
#include "SkinHintWindow.h"
|
|
#include "BackgroundForm.h"
|
|
#include <Vcl.Graphics.hpp>
|
|
#include <Vcl.Dialogs.hpp>
|
|
//---------------------------------------------------------------------------
|
|
class TCompleteForm : public TBackgroundForm
|
|
{
|
|
__published: // IDE-managed Components
|
|
// TImage *m_imgBk;
|
|
// TImage *m_imgBottomSide;
|
|
// TImage *m_imgLeftBottomConner;
|
|
// TImage *m_imgRightSide;
|
|
// TImage *m_imgRightBottomConner;
|
|
TPNGButton *m_btnPrevStep;
|
|
TPNGButton *m_btnBeginPos;
|
|
TPNGButton *m_btnEndPos;
|
|
TPNGButton *m_btnModify;
|
|
TPNGButton *m_btnPause;
|
|
TPNGButton *m_btnPlay;
|
|
TPNGButton *m_btnRecord;
|
|
TPNGButton *m_btnStop;
|
|
TPNGButton *m_btnVolMicrophoneSet;
|
|
TPNGButton *m_btnVolSpeakerSet;
|
|
TImage *m_imgBreakH;
|
|
TImage *m_imgBreakI;
|
|
TImage *m_imgBreakM;
|
|
TImage *m_imgBreakR;
|
|
CompletePanelUnit::TPanel *m_panelBarsShow;
|
|
Vcl::Extctrls::TPanel *m_panelMusicInfo;
|
|
TImage *m_imgMusicInfoBk;
|
|
TLabel *m_lblPlayTime;
|
|
TLabel *m_lblBeat;
|
|
TLabel *m_lblTempo;
|
|
TLabel *m_lblKey;
|
|
Vcl::Extctrls::TPanel *m_panelSpeakerVolSet;
|
|
TImage *m_imgSpeakerVolSet;
|
|
TPNGButton *m_btnSpeakerVolPos;
|
|
Vcl::Extctrls::TPanel *m_panelVolLevel;
|
|
TImage *m_imgVolLevelBk;
|
|
TPaintBox *m_pbVolLevel;
|
|
TPNGButton *m_btnEmptyRight;
|
|
TPNGButton *m_btnSave;
|
|
TPNGButton *m_btnKeyChange;
|
|
CommonListBoxUnit::TListBox *m_lbKeySelect;
|
|
TPNGButton *m_btnAudioEffect;
|
|
TPNGButton *m_btnUpload;
|
|
Vcl::Extctrls::TPanel *m_panelMicrophoneVolSet;
|
|
TImage *m_imgMicVolSet;
|
|
TPNGButton *m_btnMicrophoneVolPos;
|
|
TPNGButton *m_btnMicSet;
|
|
void __fastcall FormActivate(TObject *Sender);
|
|
void __fastcall StepClick(TObject *Sender);
|
|
void __fastcall FormCreate(TObject *Sender);
|
|
void __fastcall FormDestroy(TObject *Sender);
|
|
void __fastcall FormResize(TObject *Sender);
|
|
void __fastcall VolLevelPaint(TObject *Sender);
|
|
void __fastcall BtnVolSetClick(TObject *Sender);
|
|
void __fastcall ImgVolSetMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y);
|
|
void __fastcall BtnVolPosMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y);
|
|
void __fastcall BtnVolPosMouseMove(TObject *Sender, TShiftState Shift, int X, int Y);
|
|
void __fastcall BtnVolPosMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y);
|
|
void __fastcall RecordClick(TObject *Sender);
|
|
void __fastcall StopClick(TObject *Sender);
|
|
void __fastcall PlayClick(TObject *Sender);
|
|
void __fastcall PauseClick(TObject *Sender);
|
|
void __fastcall ModifyClick(TObject *Sender);
|
|
void __fastcall BeginPosClick(TObject *Sender);
|
|
void __fastcall EndPosClick(TObject *Sender);
|
|
void __fastcall PlayTimeClick(TObject *Sender);
|
|
void __fastcall BarsShowMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y);
|
|
void __fastcall BarsShowMouseMove(TObject *Sender, TShiftState Shift, int X, int Y);
|
|
void __fastcall SaveClick(TObject *Sender);
|
|
void __fastcall LBKeySelectMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y);
|
|
void __fastcall KeyChangeMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y);
|
|
void __fastcall BarsShowMouseLeave(TObject *Sender);
|
|
void __fastcall FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift);
|
|
void __fastcall BarsShowMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift,
|
|
int X, int Y);
|
|
void __fastcall FormDeactivate(TObject *Sender);
|
|
void __fastcall AuidoEffectClick(TObject *Sender);
|
|
void __fastcall UploadClick(TObject *Sender);
|
|
void __fastcall MicSetClick(TObject *Sender);
|
|
void __fastcall BarsShowDblClick(TObject *Sender);
|
|
private: // User declarations
|
|
//音量相关
|
|
DWORD m_dwLastVol;
|
|
int m_nVolLevel,
|
|
m_nSpeakerVolPos,
|
|
m_nMicrophoneVolPos,
|
|
m_yPosDragBegin;
|
|
bool m_bPosDraging;
|
|
|
|
//录音/播放相关
|
|
bool m_bFromFile,
|
|
m_bModifyRecord;
|
|
int m_iStartBar,
|
|
m_iLastStartBar,
|
|
m_iRecordBar;
|
|
double m_dblStartPoint,
|
|
m_dblLastStartPoint,
|
|
m_dblRecordPoint;
|
|
UINT m_tTimer, m_tAccuracy;
|
|
|
|
BOOL m_bIsBeginSel;
|
|
|
|
//信息显示相关
|
|
int m_iHintStage;
|
|
TSkinHintWindow * m_pStageInfoWnd;
|
|
TTimer *m_pTimerHint;
|
|
|
|
//拖动相关
|
|
int m_iHitBar,m_iHitPoint;
|
|
int m_iBX;
|
|
bool m_bDragOrHit;
|
|
|
|
void InitialBarVols();
|
|
void ShowPlayTime();
|
|
void ComposeWithNewKey();
|
|
void HidePopList(CommonListBoxUnit::TListBox* pList);
|
|
void ShowErrorMessage( int errcode );
|
|
void __fastcall HintTimerProc(TObject* Sender);
|
|
MESSAGE void __fastcall UMMediaTime(TMessage &Message);
|
|
MESSAGE void __fastcall UMRecordComplete(TMessage &Message);
|
|
MESSAGE void __fastcall UMRecordVolJust(TMessage &Message);
|
|
MESSAGE void __fastcall OnPlayOver(TMessage &msg);
|
|
MESSAGE void __fastcall UMSetFontPosition(TMessage &msg);
|
|
MESSAGE void __fastcall UMHidePopControl(TMessage &msg);
|
|
|
|
BEGIN_MESSAGE_MAP
|
|
MESSAGE_HANDLER(MSG_MEDIATIME, TMessage, UMMediaTime)
|
|
MESSAGE_HANDLER(MSG_RECORD_COMPLETE, TMessage, UMRecordComplete)
|
|
MESSAGE_HANDLER(MSG_RECORD_VOLJUST, TMessage, UMRecordVolJust)
|
|
MESSAGE_HANDLER(MSG_PLAY_END, TMessage, OnPlayOver)
|
|
MESSAGE_HANDLER(UM_SETFONTPOSITION, TMessage, UMSetFontPosition)
|
|
MESSAGE_HANDLER(UM_HIDEPOPCONTROL, TMessage, UMHidePopControl)
|
|
MESSAGE_HANDLER(WM_ERASEBKGND, TWMEraseBkgnd, WMEraseBkgnd)
|
|
END_MESSAGE_MAP(TForm)
|
|
public: // User declarations
|
|
__fastcall TCompleteForm(TComponent* Owner);
|
|
void __fastcall EnableNextStep( bool bEnabled );
|
|
};
|
|
//---------------------------------------------------------------------------
|
|
extern PACKAGE TCompleteForm *CompleteForm;
|
|
//---------------------------------------------------------------------------
|
|
#endif
|