199 lines
6.4 KiB
C++
199 lines
6.4 KiB
C++
//---------------------------------------------------------------------------
|
|
|
|
#ifndef BaseFormUnitH
|
|
#define BaseFormUnitH
|
|
//---------------------------------------------------------------------------
|
|
#include <System.Classes.hpp>
|
|
#include <Vcl.Controls.hpp>
|
|
#include <Vcl.ExtCtrls.hpp>
|
|
#include <Vcl.Forms.hpp>
|
|
#include <Vcl.Imaging.jpeg.hpp>
|
|
#include <Vcl.StdCtrls.hpp>
|
|
#include "PNGButton.hpp"
|
|
#include "CommonListboxUnit.h"
|
|
#include "BasePanelUnit.h"
|
|
#include <Vcl.Imaging.pngimage.hpp>
|
|
#include <Vcl.Graphics.hpp>
|
|
#include "PopMenuUnit.h"
|
|
#include "BackgroundForm.h"
|
|
|
|
//---------------------------------------------------------------------------
|
|
class TBaseForm : public TBackgroundForm
|
|
{
|
|
__published: // IDE-managed Components
|
|
// TImage *m_imgBk;
|
|
// TImage *m_imgLeftBottomConner;
|
|
// TImage *m_imgBottomSide;
|
|
// TImage *m_imgRightSide;
|
|
// TImage *m_imgRightBottomConner;
|
|
TImage *m_imgBreakH;
|
|
TImage *m_imgBreakI;
|
|
TImage *m_imgBreakM;
|
|
TImage *m_imgBreakR;
|
|
TPNGButton *m_btnRecord;
|
|
TPNGButton *m_btnStop;
|
|
TPNGButton *m_btnPlay;
|
|
TPNGButton *m_btnPause;
|
|
|
|
TPNGButton *m_btnApart;
|
|
TPNGButton *m_btnCombine;
|
|
|
|
TPNGButton *m_btnPrevStep;
|
|
TPNGButton *m_btnNextStep;
|
|
|
|
BasePanelUnit::TPanel *m_panelBarsShow;
|
|
TPNGButton *m_btnVolAudioSet;
|
|
TPNGButton *m_btnVolMusicSet;
|
|
|
|
Vcl::Extctrls::TPanel *m_panelMusicInfo;
|
|
TImage *m_imgMusicInfoBk;
|
|
TLabel *m_lblPlayTime;
|
|
TLabel *m_lblBeat;
|
|
TLabel *m_lblTempo;
|
|
TLabel *m_lblKey;
|
|
TPNGButton *m_btnKeyChange;
|
|
CommonListBoxUnit::TListBox *m_lbKeySelect;
|
|
|
|
|
|
Vcl::Extctrls::TPanel *m_panelMusicVolSet;
|
|
TImage *m_imgMusicVolSet;
|
|
TPNGButton *m_btnMusicVolPos;
|
|
|
|
Vcl::Extctrls::TPanel *m_panelAudioVolSet;
|
|
TImage *m_imgAudioVolSet;
|
|
TPNGButton *m_btnAudioVolPos;
|
|
|
|
TPNGButton *m_btnStyleChange;
|
|
Vcl::Extctrls::TPanel *m_panelStyleName;
|
|
TImage *m_imgStyleNameBk;
|
|
TLabel *m_lblStyleName;
|
|
|
|
TPNGButton *m_btnMainKey1;
|
|
TPNGButton *m_btnMainKey0;
|
|
TPNGButton *m_btnMainKey2;
|
|
TPNGButton *m_btnMainKey3;
|
|
TPNGButton *m_btnMainKey4;
|
|
TPNGButton *m_btnMainKey5;
|
|
TPNGButton *m_btnMainKey6;
|
|
|
|
TPNGButton *m_btnAjustKey0;
|
|
TPNGButton *m_btnAjustKey1;
|
|
|
|
TPNGButton *m_btnChordType0;
|
|
TPNGButton *m_btnChordType1;
|
|
TPNGButton *m_btnChordType2;
|
|
TPNGButton *m_btnAudioEffect;
|
|
TPNGButton *m_btnMicSet;
|
|
|
|
void __fastcall FormCreate(TObject *Sender);
|
|
void __fastcall FormDestroy(TObject *Sender);
|
|
void __fastcall FormResize(TObject *Sender);
|
|
|
|
void __fastcall FormActivate(TObject *Sender);
|
|
void __fastcall StepClick(TObject *Sender);
|
|
|
|
void __fastcall PlayClick(TObject *Sender);
|
|
void __fastcall StopClick(TObject *Sender);
|
|
void __fastcall PauseClick(TObject *Sender);
|
|
|
|
void __fastcall PlayTimeClick(TObject *Sender);
|
|
void __fastcall BtnKeyChangeClick(TObject *Sender);
|
|
void __fastcall LBKeySelectMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y);
|
|
|
|
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 ApartClick(TObject *Sender);
|
|
void __fastcall CombineClick(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 BtnMainKeyClick(TObject *Sender);
|
|
void __fastcall BtnAjustKeyClick(TObject *Sender);
|
|
void __fastcall BtnChordTypeClick(TObject *Sender);
|
|
void __fastcall FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift);
|
|
void __fastcall BtnStyleChangeClick(TObject *Sender);
|
|
void __fastcall FormDeactivate(TObject *Sender);
|
|
void __fastcall AudioEffectClick(TObject *Sender);
|
|
void __fastcall MicSetClick(TObject *Sender);
|
|
|
|
private: // User declarations
|
|
//音量相关
|
|
int m_nAudioVolPos,
|
|
m_nMusicVolPos,
|
|
m_yPosDragBegin;
|
|
bool m_bPosDraging;
|
|
|
|
//录音/播放相关
|
|
int m_iStartBar,
|
|
m_iLastStartBar;
|
|
double m_dblStartPoint,
|
|
m_dblLastStartPoint;
|
|
UINT m_tTimer, m_tAccuracy, m_tMusicLen;
|
|
|
|
//和弦相关
|
|
bool m_bCanErase;
|
|
TPNGButton* m_lstMainKeys[7];
|
|
|
|
// TPNGButton* m_lstDefaultMainKeys[7];
|
|
|
|
TPNGButton* m_lstAjustKeys[2];
|
|
TPNGButton* m_lstChordTypes[3];
|
|
DWORD m_dwOriginChord;
|
|
|
|
TPngImage *m_aImagKeyLM[7],
|
|
*m_aImagKeyEG[7];
|
|
//菜单操作相关
|
|
TPopMenu * m_pPopMenu;
|
|
int m_iPopBar, m_iPopPoint;
|
|
|
|
// void AutoCompose();
|
|
// bool BaseCompose();
|
|
void ShowPlayTime();
|
|
void EnableChordModify( bool bEnable, int iMainKey, int iAjustKey, int iChordType );
|
|
int GetMainKey();
|
|
int GetAjustKey();
|
|
int GetChordType();
|
|
void HidePopList(CommonListBoxUnit::TListBox* pList);
|
|
int HidePopControls();
|
|
void BarsLButtonDown( int iHitType, int iHitBar, int iHitPoint );
|
|
void BarsRButtonDown( int iHitType, int iHitBar, int iHitPoint, int X, int Y );
|
|
void GetSelectKey( int& iMain, int& iAdjust );
|
|
void SetSelectKey( int iMain, int iAdjust );
|
|
void SetChordType( int iType );
|
|
|
|
void __fastcall OnSelectStageVar( TObject* Sender );
|
|
void __fastcall OnSelectBarFill( TObject* Sender );
|
|
void __fastcall OnDeleteChord( TObject* Sender );
|
|
void __fastcall OnChangeChordMode( TObject* Sender=NULL );
|
|
|
|
MESSAGE void __fastcall UMMediaTime(TMessage &Message);
|
|
// MESSAGE void __fastcall UMEnableReload(TMessage &Message);
|
|
MESSAGE void __fastcall UMSelectStyle(TMessage &msg);
|
|
MESSAGE void __fastcall UMReload(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(UM_ENABLERELOAD, TMessage, UMEnableReload)
|
|
MESSAGE_HANDLER(UM_SELECTSTYLE, TMessage, UMSelectStyle)
|
|
MESSAGE_HANDLER(UM_RELOAD, TMessage, UMReload)
|
|
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 TBaseForm(TComponent* Owner);
|
|
|
|
void __fastcall ChangeChordMode( bool bAlpha );
|
|
};
|
|
//---------------------------------------------------------------------------
|
|
extern PACKAGE TBaseForm *BaseForm;
|
|
//---------------------------------------------------------------------------
|
|
#endif
|