//--------------------------------------------------------------------------- #ifndef CompleteFormUnitH #define CompleteFormUnitH //--------------------------------------------------------------------------- #include #include #include #include #include #include #include #include "PNGButton.hpp" #include "CompletePanelUnit.h" #include "CommonListboxUnit.h" #include "SkinHintWindow.h" #include "BackgroundForm.h" #include #include //--------------------------------------------------------------------------- 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