//--------------------------------------------------------------------------- #ifndef MainFormUnitH #define MainFormUnitH //--------------------------------------------------------------------------- #include #include #include #include #include #include #include #include #include "PNGButton.hpp" #include "Capbutton.h" #include "MenuBar.h" #include "MenuUnit.h" #include "SkinHintWindow.h" #include "MicSetFormUnit.h" #include "SetUpFormUnit.h" #include "ComboBoxComponent.h" #include "VolumeFormUnit.h" //add by lm 14.1.7 #include "LineEdit.h" #include "KeyBoard.h" #include "HelpFormUnit.h" #include "NotificationFormUnit.h" #include "TextButton.h" //--------------------------------------------------------------------------- class TMainForm : public TForm { __published: // IDE-managed Components TPNGButton *m_btnClose; TPNGButton *m_btnMax; TPNGButton *m_btnMin; TPNGButton *m_btnRest; TPNGButton *m_btnRecord; TPNGButton *m_btnPlay; TPNGButton *m_btnStop; TPNGButton *m_btnPause; TLabel *m_lblTitle; TLabel *m_lblLogon; TPNGButton *m_tabStyle; TPNGButton *m_tabChord; TPNGButton *m_tabAudio; TComboBoxComponent *m_cbPreStage; TCapButton *m_btnTS; TCapButton *m_btnTempo; TPanel *m_panelVolLevel; TImage *m_imgVolLevelBk; TPaintBox *m_pbVolLevel; TComboBoxComponent *m_cbFontSelect; TComboBoxComponent *m_cbKey; TPNGButton *m_btnOpen; TPNGButton *m_btnSave; TPNGButton *m_btnUpload; TPNGButton *m_btnKeyboard; TPNGButton *m_btnVolSet; TImage *m_Logo; TPaintBox *m_pbUserNoticeNum; TPNGButton *m_btnExtFontOn; TPNGButton *m_btnExtFontOff; TLabel *m_lblExtFont; TLabel *m_lblWebsite; void __fastcall FormCreate(TObject *Sender); void __fastcall FormResize(TObject *Sender); void __fastcall CloseClick(TObject *Sender); void __fastcall FormClose(TObject *Sender, TCloseAction &Action); void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose); void __fastcall MaxClick(TObject *Sender); void __fastcall MinClick(TObject *Sender); void __fastcall RestClick(TObject *Sender); void __fastcall FormMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); void __fastcall FormPaint(TObject *Sender); void __fastcall LogonMouseEnter(TObject *Sender); void __fastcall LogonMouseLeave(TObject *Sender); void __fastcall RecordClick(TObject *Sender); void __fastcall StopClick(TObject *Sender); void __fastcall FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift); void __fastcall PlayClick(TObject *Sender); void __fastcall PauseClick(TObject *Sender); void __fastcall PanelMouseMove(TObject *Sender, TShiftState Shift, int X, int Y); // void __fastcall PanelMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); void __fastcall PanelMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); void __fastcall TabClick(TObject *Sender); void __fastcall PreStageChange(TComboBoxItem *Sender, int Index); void __fastcall VolLevelPaint(TObject *Sender); void __fastcall UserNameClick(TObject *Sender); void __fastcall FontSelectChange(TComboBoxItem *Sender, int Index); void __fastcall KeyChange(TComboBoxItem *Sender, int Index); void __fastcall OpenClick(TObject *Sender); void __fastcall SaveClick(TObject *Sender); void __fastcall UploadClick(TObject *Sender); void __fastcall TTClick(TObject *Sender); void __fastcall VolSetClick(TObject *Sender); void __fastcall OnKeyBoard(TObject *Sender); void __fastcall FormKeyUp(TObject *Sender, WORD &Key, TShiftState Shift); void __fastcall PlayTimeClick(TObject *Sender); void __fastcall DoShowNoticeNumPaint(TObject *Sender); void __fastcall UserNoticeNumClick(TObject *Sender); void __fastcall ExtFontClick(TObject *Sender); void __fastcall URLClick(TObject *Sender); void __fastcall URLMouseEnter(TObject *Sender); void __fastcall URLMouseLeave(TObject *Sender); private: // User declarations TMenuBar *m_pMenuBar; TMenuPanel *m_pMenu, *m_pPopMenu; TVolumeForm *m_pVolumeForm; TPlayTimePanel *m_pPlayTimePanel; TContentPanel *m_pContentPanel; TToolpalPanel *m_pUseStylePanel, *m_pAudStylePanel, *m_pPreStylePanel, *m_pChordPanel, *m_pTrackPanel; int m_ToolpalWidth, m_UseStyleHeight, m_PreStyleHeight; TKeyBoard *m_KeyBoard; //模拟键盘 add by laq 2014.1.17 //录音/播放相关 DWORD m_dwLastVol; int m_iStartBar, m_iLastStartBar, m_iRecordBar, m_nDelayPoint; double m_dblStartPoint, m_dblLastStartPoint, m_dblRecordPoint; // bool m_bAudioModified; bool m_bFromFile; UINT m_tTimer, m_tAccuracy, m_tBeatHint; int m_nVolLevel; //音量等级 HRESULT __fastcall AutoRecognition( int iType ); //旋律识别 0=录音 1=音频导入 2=MIDI导入 3=移动 HRESULT __fastcall AutoChords(); //自动配置和弦 void __fastcall OnLoadMelody(TObject *Sender); void __fastcall SetMode( int iMode, bool bForce=false ); //设置视图模式, bForce强制刷新 void __fastcall ChangeTT( bool bTS, int iValue ); void __fastcall SetFont( int idFont, bool bExtFont=false, bool bAddUndo=true ); //倒计时定时器 TTimer * m_pCDTimer; void __fastcall CDTimerProc(TObject* Sender); void __fastcall ClearCDTimer(); //保存相关 String m_strLoadProjectName, m_strUploadFile; void __fastcall SaveAs( int iComb ); //显示相关 void __fastcall ShowPlayTime(); void __fastcall CreateMenus(); void __fastcall ViewLayout(); void __fastcall NewProject(); void __fastcall DoLoadProject( LPCTSTR strName ); void __fastcall AfterLoadProject(); void __fastcall Undo( bool bUndo ); void __fastcall SetRecordState( bool bRecord ); void __fastcall ShowToolPanels( int iShow ); bool __fastcall RecordEnabled(); bool __fastcall CheckPayment( int iOperation ); void __fastcall Logout(); // add by lm 14.1.17 int __fastcall SaveMedia( int iOperation, int iSaveOption, int iFileType, String strFileName, bool bUpload=false ); //帮助 THelpForm* m_HelpForm; //动态 //add by tj 2014/04/18 TTimer *m_pNotificationGetTimer; void __fastcall NotificationTimerProc(TObject* Sender); TNotificationForm *m_pNotificationForm; void __fastcall CreateParams(TCreateParams &Params); void __fastcall OnCreateNewProject(TObject * Sender = NULL); void __fastcall OnPredefineProject(TObject * Sender = NULL); void __fastcall OnSaveProject(TObject *Sender=NULL); void __fastcall OnLoadProject(TObject *Sender=NULL); void __fastcall OnUserHelp(TObject *Sender=NULL); void __fastcall OnUserManual(TObject *Sender=NULL); void __fastcall OnForumVist(TObject *Sender=NULL); void __fastcall OnAbout(TObject *Sender=NULL); void __fastcall OnMicSetting(TObject *Sender=NULL); void __fastcall OnVSTPathSetting(TObject *Sender=NULL); void __fastcall OnSaveAs(TObject *Sender=NULL);// add by lm 14.1.7 void __fastcall OnShowToolPanels(TObject *Sender=NULL); void __fastcall OnViewMode(TObject *Sender=NULL); void __fastcall OnNotification(TObject *Sender=NULL); //add by tj 2014/04/18 void __fastcall OnCustomerSetting(TObject *Sender=NULL); //add by tj 2014/05/13 void __fastcall OnUndo(TObject *Sender=NULL); void __fastcall OnRedo(TObject *Sender=NULL); void __fastcall OnShowMore(TObject *Sender=NULL); //消息处理 MESSAGE void __fastcall WMEraseBkgnd(Winapi::Messages::TWMEraseBkgnd &Message); MESSAGE void __fastcall WMNCHitTest(TWMNCHitTest &Msg); MESSAGE void __fastcall WMNCLButtonDown(TWMNCLButtonDown &Msg); MESSAGE void __fastcall WMNCRButtonDown(TWMNCRButtonDown &Msg); MESSAGE void __fastcall WMNCLButtonDblClk(TWMNCLButtonDblClk &Msg); MESSAGE void __fastcall WMWindowPosChanged(TWMWindowPosChanged &Msg); MESSAGE void __fastcall OnRestoreWindow(TMessage &msg); MESSAGE void __fastcall OnShowMenu(TMessage &msg); // MESSAGE void __fastcall OnMenuCall(TMessage &msg); MESSAGE void __fastcall OnMenuClose(TMessage & Msg); MESSAGE void __fastcall OnLogin(TMessage &msg); MESSAGE void __fastcall OnNetworkError(TMessage &msg); MESSAGE void __fastcall OnNetworkMessage(TMessage &msg); MESSAGE void __fastcall OnLoadProjectMessage(TMessage &msg); MESSAGE void __fastcall OnSaveProjectMessage(TMessage &msg); MESSAGE void __fastcall OnNewProjectMessage(TMessage &msg); MESSAGE void __fastcall OnUploadMusic(TMessage & Msg); MESSAGE void __fastcall AcceptFiles (TMessage& Msg); MESSAGE void __fastcall OnShowAbout(TMessage & Msg); MESSAGE void __fastcall OnOpenManual(TMessage & Msg); MESSAGE void __fastcall OnOpenAutoProj(TMessage & Msg); MESSAGE void __fastcall UMShowBrush(TMessage &msg); MESSAGE void __fastcall UMMediaTime(TMessage &Message); MESSAGE void __fastcall UMRecordComplete(TMessage &Message); MESSAGE void __fastcall UMRecordVolJust(TMessage &Message); MESSAGE void __fastcall UMPlayOver(TMessage &Message); MESSAGE void __fastcall UMShowPlayTime(TMessage &Message); MESSAGE void __fastcall UMStop(TMessage &Message); MESSAGE void __fastcall UMRecord(TMessage &Message); MESSAGE void __fastcall UMTTSetup(TMessage &Message); MESSAGE void __fastcall UMChangeTT(TMessage &Message); MESSAGE void __fastcall UMStageChanged(TMessage &Message); MESSAGE void __fastcall UMShowKeyBoard(TMessage &Message); MESSAGE void __fastcall UMShowHelp(TMessage &Message); MESSAGE void __fastcall UMStyleScore(TMessage &Message); MESSAGE void __fastcall UMNotification(TMessage & Msg); //add by tj 2014/04/18 MESSAGE void __fastcall UMApplyStyle(TMessage &Message); MESSAGE void __fastcall UMSaveLocalStyle(TMessage &Message); MESSAGE void __fastcall UMImportSegment(TMessage &Message); MESSAGE void __fastcall UMUploadStyle(TMessage &Message); MESSAGE void __fastcall UMChangeMelodyKey(TMessage &Message); MESSAGE void __fastcall UMSetViewMode(TMessage &Message); MESSAGE void __fastcall UMEnableRecord(TMessage &Message); MESSAGE void __fastcall UMAudioLoad(TMessage &Message); MESSAGE void __fastcall UMAutoRecognition(TMessage &Message); MESSAGE void __fastcall UMShowVolSet(TMessage &Message); MESSAGE void __fastcall UMVSTPath(TMessage &Message); MESSAGE void __fastcall UMSetContentView(TMessage &Message); MESSAGE void __fastcall UMGetContentView(TMessage &Message); MESSAGE void __fastcall UMAudioVolChanged(TMessage &Message); MESSAGE void __fastcall UMPreferChanged(TMessage &Message); MESSAGE void __fastcall UMShowMore(TMessage &Message); MESSAGE void __fastcall UMStartCDTimer(TMessage &Message); BEGIN_MESSAGE_MAP MESSAGE_HANDLER(WM_ERASEBKGND, TWMEraseBkgnd, WMEraseBkgnd) MESSAGE_HANDLER(WM_NCHITTEST, TWMNCHitTest, WMNCHitTest) MESSAGE_HANDLER(WM_NCLBUTTONDOWN, TWMNCLButtonDown, WMNCLButtonDown) MESSAGE_HANDLER(WM_NCRBUTTONDOWN, TWMNCRButtonDown, WMNCRButtonDown) MESSAGE_HANDLER(WM_NCLBUTTONDBLCLK, TWMNCLButtonDblClk, WMNCLButtonDblClk) MESSAGE_HANDLER(WM_WINDOWPOSCHANGED, TWMWindowPosChanged, WMWindowPosChanged) MESSAGE_HANDLER(WM_DROPFILES,TMessage, AcceptFiles) MESSAGE_HANDLER(MSG_NETWORKERROR, TMessage, OnNetworkError) MESSAGE_HANDLER(MSG_NETWORKMESSAGE, TMessage, OnNetworkMessage) 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, UMPlayOver) MESSAGE_HANDLER(UM_RESTORE, TMessage, OnRestoreWindow) MESSAGE_HANDLER(UM_SHOWMENU, TMessage, OnShowMenu) MESSAGE_HANDLER(UM_MENUCLOSE, TMessage, OnMenuClose) MESSAGE_HANDLER(UM_SHOWPLAYTIME, TMessage, UMShowPlayTime) MESSAGE_HANDLER(UM_STOP, TMessage, UMStop) MESSAGE_HANDLER(UM_RECORD, TMessage, UMRecord) MESSAGE_HANDLER(UM_SHOWBRUSH, TMessage, UMShowBrush) MESSAGE_HANDLER(UM_TTSETUP, TMessage, UMTTSetup) MESSAGE_HANDLER(UM_CHANGETT, TMessage, UMChangeTT) MESSAGE_HANDLER(UM_STAGECHANGED, TMessage, UMStageChanged) MESSAGE_HANDLER(UM_LOGIN, TMessage, OnLogin) MESSAGE_HANDLER(UM_LOADPROJECT, TMessage, OnLoadProjectMessage) MESSAGE_HANDLER(UM_SAVEPROJECT, TMessage, OnSaveProjectMessage) MESSAGE_HANDLER(UM_NEWPROJECT, TMessage, OnNewProjectMessage) MESSAGE_HANDLER(UM_UPLOADMUSIC,TMessage,OnUploadMusic) MESSAGE_HANDLER(UM_SHOWABOUT,TMessage,OnShowAbout) MESSAGE_HANDLER(UM_OPENMANUAL,TMessage,OnOpenManual) MESSAGE_HANDLER(UM_SHOW_KB, TMessage, UMShowKeyBoard) MESSAGE_HANDLER(UM_OPENAUTOPROJ,TMessage,OnOpenAutoProj) MESSAGE_HANDLER(UM_SHOWHELP, TMessage, UMShowHelp) MESSAGE_HANDLER(UM_STYLESCORE, TMessage, UMStyleScore) MESSAGE_HANDLER(UM_NOTIFICATION, TMessage, UMNotification) //add by tj 2014/04/18 MESSAGE_HANDLER(UM_APPLYSTYLE, TMessage, UMApplyStyle) MESSAGE_HANDLER(UM_SAVELOCALSTYLE, TMessage, UMSaveLocalStyle) MESSAGE_HANDLER(UM_IMPORTSEGMENT, TMessage, UMImportSegment) MESSAGE_HANDLER(UM_UPLOADSTYLE, TMessage, UMUploadStyle) MESSAGE_HANDLER(UM_CHANGEKEY, TMessage, UMChangeMelodyKey) MESSAGE_HANDLER(UM_SETVIEWMODE, TMessage, UMSetViewMode) MESSAGE_HANDLER(UM_ENABLERECORD, TMessage, UMEnableRecord) MESSAGE_HANDLER(UM_AUDIOLOAD, TMessage, UMAudioLoad) MESSAGE_HANDLER(UM_AUTORECOGNITION, TMessage, UMAutoRecognition) MESSAGE_HANDLER(UM_SHOW_VOLSET, TMessage, UMShowVolSet) MESSAGE_HANDLER(UM_VSTPATH, TMessage, UMVSTPath) MESSAGE_HANDLER(UM_SETCONTENTVIEW, TMessage, UMSetContentView) MESSAGE_HANDLER(UM_GETCONTENTVIEW, TMessage, UMGetContentView) MESSAGE_HANDLER(UM_AUDIOVOLCHANGED, TMessage, UMAudioVolChanged) MESSAGE_HANDLER(UM_PREFERCHANGED, TMessage, UMPreferChanged) MESSAGE_HANDLER(UM_SHOWMORE, TMessage, UMShowMore) MESSAGE_HANDLER(UM_STARTCDTIMER, TMessage, UMStartCDTimer) END_MESSAGE_MAP(TForm) public: // User declarations __fastcall TMainForm(TComponent* Owner); void __fastcall ShowErrorMessage( int err, String strOperation ); }; //--------------------------------------------------------------------------- extern PACKAGE TMainForm *MainForm; //--------------------------------------------------------------------------- #endif