Files
AccompanyCube/PredefineProjectFormUnit.h
2026-06-13 00:10:11 +08:00

87 lines
2.7 KiB
C++

//---------------------------------------------------------------------------
#ifndef PredefineProjectFormUnitH
#define PredefineProjectFormUnitH
//---------------------------------------------------------------------------
#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
#include <Vcl.Samples.Spin.hpp>
#include <Vcl.ExtCtrls.hpp>
#include <Vcl.Imaging.jpeg.hpp>
#include "PNGButton.hpp"
#include "GlobalUnit.h"
#include "PredefineProjectSetUnit.h"
//---------------------------------------------------------------------------
class TPredefineProjectForm : public TForm
{
__published: // IDE-managed Components
TComboBox *mKeyComboBox;
TComboBox *mKeyTypeComboBox;
TComboBox *mTempoComboBox;
TComboBox *mStageComboBox;
TComboBox *mStageSetComboBox;
TComboBox *mTSComboBox;
TSpinEdit *mTempoSpinEdit;
TPaintBox *mChordsBox;
TImage *mBackGround;
TPNGButton *mOkButton;
TPNGButton *mCancelButton;
TPNGButton *mCloseBtn;
void __fastcall DoFormCreate(TObject *Sender);
void __fastcall DoChordPaint(TObject *Sender);
void __fastcall DoPaintBoxMouseLeave(TObject *Sender);
void __fastcall DoPaintBoxMouseEnter(TObject *Sender);
void __fastcall DoStageCountChange(TObject *Sender);
void __fastcall DoStageSetChange(TObject *Sender);
void __fastcall DoKeyChange(TObject *Sender);
void __fastcall DoKeyTypeChange(TObject *Sender);
void __fastcall DoTsChange(TObject *Sender);
void __fastcall DoPaintBoxMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,
int X, int Y);
void __fastcall OnTempoEditChange(TObject *Sender);
void __fastcall DoTempoComboChange(TObject *Sender);
void __fastcall DoFormActivate(TObject *Sender);
private: // User declarations
TRect mChordRect[8];
TPrefineProjectSet *mPreChordSet;
bool mPaintBoxFlag;
bool mPresetMouseOver;
bool mIsPreSetShow;
int mLordSong; // Ö÷¸è
int mRefrain; // ¸±¸è
int mBridge; // ÇÅ
void DrawChord(TCanvas *Canvas, TRect Rect, int iKey, int iType);
void __fastcall DoPresetChordShow(TObject *Sender);
void __fastcall DoPresetChordHide(TObject *Sender);
void __fastcall WMNCHitTest(TWMNCHitTest &Message);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_NCHITTEST, TWMNCHitTest, WMNCHitTest)
END_MESSAGE_MAP(TForm)
public: // User declarations
int m_Ts;
int m_Tempo;
int m_Key;
int m_KeyType;
int m_RavStage;
int m_Preset[3];
__fastcall TPredefineProjectForm(TComponent* Owner);
__fastcall ~TPredefineProjectForm();
virtual int __fastcall ShowModal();
};
//---------------------------------------------------------------------------
extern PACKAGE TPredefineProjectForm *PredefineProjectForm;
extern const BYTE u_arrPredefChords[3][2][8][8];
//---------------------------------------------------------------------------
#endif