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

233 lines
9.2 KiB
C++

//---------------------------------------------------------------------------
#ifndef MainFormH
#define MainFormH
//---------------------------------------------------------------------------
#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
#include <Vcl.ExtCtrls.hpp>
#include <Vcl.ComCtrls.hpp>
#include <Vcl.Imaging.pngimage.hpp>
#include <Vcl.Imaging.jpeg.hpp>
#include "SystemMenuUnit.h"
#include "PNGButton.hpp"
#include "TransparentPanelUnit.h"
#include "SkinHintWindow.h"
#include "NotificationFormUnit.h"
#include <Vcl.Graphics.hpp>
#include "CommonListboxUnit.h"
#define MENU_NEW 0
#define MENU_OPEN 1
#define MENU_OPENRECENT 2
#define MENU_SAVE 3
#define MENU_SAVEAS 4
#define MENU_IOSETTING 5
#define MENU_PERFERENCE 6
#define MENU_HELP 7
#define MENU_FORUM 8
#define TABSHEET_NUM 6
//---------------------------------------------------------------------------
class TMainForm : public TForm
{
__published: // IDE-managed Components
TImage *m_pImageStep;
TPNGButton *m_btnSysMenu;
TPNGButton *m_btnLogin;
TPNGButton *m_btnMinBox;
TPNGButton *m_btnMaxBox;
TPNGButton *m_btnCloseBox;
TPNGButton *m_btnRestBox;
TPageControl *m_pPgCtrl_Work;
TLabel *m_labCaption;
TransparentPanelUnit::TPanel *m_panelUserInfo;
TImage *m_imgUserFrame;
TImage *m_imgUserIcon;
TPNGButton *m_btnLogoff;
TLabel *m_lblUsername;
TPNGButton *m_btnCancelLog;
TLabel *m_lblLoging;
TPNGButton *m_btnThrdStep;
TPNGButton *m_btnFrthStep;
TPNGButton *m_btnFifthStep;
TPNGButton *m_btnSecStep;
TPNGButton *m_btnFirstStep;
TPNGButton *m_btnHelpBox;
TPaintBox *m_pbUserNoticeNum;
TransparentPanelUnit::TPanel *m_panelNoticeNum;
TImage *m_imgVip;
CommonListBoxUnit::TListBox *m_lbFontSelect;
Vcl::Extctrls::TPanel *m_panelFontName;
TImage *m_imgFontNameBk;
TLabel *m_lblFontName;
TPNGButton *m_btnFontChange;
TLabel *m_lblExtFont;
void __fastcall FormCreate(TObject *Sender);
void __fastcall OnBtnSysMenuClick(TObject *Sender);
void __fastcall CloseBoxClick(TObject *Sender);
void __fastcall MinBoxClick(TObject *Sender);
void __fastcall FormResize(TObject *Sender);
void __fastcall MaxBoxClick(TObject *Sender);
void __fastcall RestBoxClick(TObject *Sender);
void __fastcall LoginClick(TObject *Sender);
void __fastcall LogoffClick(TObject *Sender);
void __fastcall FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift);
void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
void __fastcall UsernameMouseEnter(TObject *Sender);
void __fastcall UsernameMouseLeave(TObject *Sender);
void __fastcall UsernameMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,
int X, int Y);
void __fastcall OnSelectPageStep(TObject *Sender);
void __fastcall HelpBoxClick(TObject *Sender);
void __fastcall UserNoticeNumPaint(TObject *Sender);
void __fastcall UserNoticeNumClick(TObject *Sender);
void __fastcall UserNoticeNumMouseEnter(TObject *Sender);
void __fastcall UserNoticeNumMouseLeave(TObject *Sender);
void __fastcall OnCustomerSetting(TObject *Sender);
void __fastcall UserIconClick(TObject *Sender);
void __fastcall VipClick(TObject *Sender);
void __fastcall FontSelectMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y);
void __fastcall DownloadExtFontClick(TObject *Sender);
void __fastcall ExtFontMouseEnter(TObject *Sender);
void __fastcall ExtFontMouseLeave(TObject *Sender);
void __fastcall FontChangeMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); //add by tj 2014/05/15
private: // User declarations
// TJPEGImage *m_pPicTabBk;
TPngImage *m_pImgNoticeNum,
*m_pImgTopLeft,
*m_pImgTopRight,
*m_pImgTopTile,
*m_pImgHorTile,
*m_pImgVerTile,
*m_pImgBottomLeft,
*m_pImgBottomRight;
TTabSheet *m_paTabSheets[TABSHEET_NUM];
TSystemMenu *m_pSysMenu;
String m_strLoadProjectName;
TPNGButton *m_btnStep[5];
//用户信息提示相关
TSkinHintWindow * m_pStyleInfoWnd;
bool m_bShowHint, m_bUNHot;
TTimer *m_pTimerHint;
void __fastcall HintTimerProc(TObject* Sender);
//动态 //add by tj 2014/04/17
TTimer *m_pNotificationGetTimer;
void __fastcall NotificationTimerProc(TObject* Sender);
TNotificationForm *m_pNotificationForm;
//倒计时定时器
TTimer * m_pCDTimer;
void __fastcall CDTimerProc(TObject* Sender);
void __fastcall ClearCDTimer();
String m_strUsrIconPath;
void InitFontList();
bool SetSelectFont();
void UpdateProjectMenuItems();
void SetActivePage( int iActiveIndex );
void LoadProject( LPCTSTR strName );
void NewProject();
void LoadNewcomerMission();
// bool CheckPayment( int iOperation );
int SaveMedia( int iOperation, int iSaveOption, int iFileType, String strFileName, bool bUpload=false );
void ShowErrorMessage( int err, String strOperation );
void __fastcall OnCreateNewProject(TObject * Sender = NULL);
void __fastcall OnPredefineProject(TObject * Sender = NULL);
void __fastcall CreateParams(TCreateParams &Params);
void __fastcall OnSaveProject(TObject *Sender=NULL);
void __fastcall OnLoadProject(TObject *Sender=NULL);
void __fastcall OnUserHelp(TObject *Sender=NULL);
void __fastcall OnForumVist(TObject *Sender=NULL);
void __fastcall OnAbout(TObject *Sender=NULL);
void __fastcall OnSoftwares(TObject *Sender=NULL);
void __fastcall OnNotification(TObject *Sender=NULL);
void __fastcall OnIOSetting(TObject *Sender=NULL);
void __fastcall OnUserManual(TObject *Sender=NULL);
//消息处理
MESSAGE void __fastcall WMNCHitTest(TWMNCHitTest &Msg);
MESSAGE void __fastcall WMNCLButtonDblClk(TWMNCLButtonDblClk &Msg);
MESSAGE void __fastcall OnRestoreWindow(TMessage &msg);
MESSAGE void __fastcall OnShowNextPage(TMessage &msg);
MESSAGE void __fastcall OnShowSysMenu(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 AcceptFiles (TMessage& Msg);
MESSAGE void __fastcall OnRefreshStepPageState(TMessage & Msg);
MESSAGE void __fastcall OnJumpPage(TMessage & Msg);
MESSAGE void __fastcall OnShowAbout(TMessage & Msg);
MESSAGE void __fastcall OnShowMore(TMessage & Msg);
MESSAGE void __fastcall OnOpenManual(TMessage & Msg);
MESSAGE void __fastcall OnAudioEffect(TMessage & Msg);
MESSAGE void __fastcall OnSaveMusic(TMessage & Msg);
MESSAGE void __fastcall OnUploadMusic(TMessage & Msg);
MESSAGE void __fastcall OnMicSetting(TMessage & Msg);
MESSAGE void __fastcall OnOpenAutoProj(TMessage & Msg);//add by tj 2013/1/2
// MESSAGE void __fastcall OnHandleAutoProj(TMessage & Msg);
MESSAGE void __fastcall UMNotification(TMessage & Msg); //add by tj 2014/04/17
MESSAGE void __fastcall OnUploadUsrIcon(TMessage & Msg);
MESSAGE void __fastcall WMEraseBkgnd(Winapi::Messages::TWMEraseBkgnd &Message);
MESSAGE void __fastcall WMDpiChanged(TMessage &Message);
MESSAGE void __fastcall UMStartCDTimer(TMessage &Message);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(UM_REFRESH_PAGE_STATE, TMessage, OnRefreshStepPageState)
MESSAGE_HANDLER(UM_RESTORE, TMessage, OnRestoreWindow)
MESSAGE_HANDLER(UM_SHOWNEXTPAGE, TMessage, OnShowNextPage)
MESSAGE_HANDLER(UM_SHOWSYSMENU, TMessage, OnShowSysMenu)
MESSAGE_HANDLER(UM_LOGIN, TMessage, OnLogin)
MESSAGE_HANDLER(WM_NCHITTEST, TWMNCHitTest, WMNCHitTest)
MESSAGE_HANDLER(WM_NCLBUTTONDBLCLK, TWMNCLButtonDblClk, WMNCLButtonDblClk)
MESSAGE_HANDLER(MSG_NETWORKERROR, TMessage, OnNetworkError)
MESSAGE_HANDLER(MSG_NETWORKMESSAGE, TMessage, OnNetworkMessage)
MESSAGE_HANDLER(UM_LOADPROJECT, TMessage, OnLoadProjectMessage)
MESSAGE_HANDLER(UM_SAVEPROJECT, TMessage, OnSaveProjectMessage)
MESSAGE_HANDLER(UM_NEWPROJECT, TMessage, OnNewProjectMessage)
MESSAGE_HANDLER(WM_DROPFILES,TMessage, AcceptFiles)
MESSAGE_HANDLER(UM_JUMP_PAGE,TMessage,OnJumpPage)
MESSAGE_HANDLER(UM_SHOWABOUT,TMessage,OnShowAbout)
MESSAGE_HANDLER(UM_SHOWMORE,TMessage,OnShowMore)
MESSAGE_HANDLER(UM_OPENMANUAL,TMessage,OnOpenManual)
MESSAGE_HANDLER(UM_AUDIOEFFECT,TMessage,OnAudioEffect)
MESSAGE_HANDLER(UM_SAVEMUSIC,TMessage,OnSaveMusic)
MESSAGE_HANDLER(UM_UPLOADMUSIC,TMessage,OnUploadMusic)
MESSAGE_HANDLER(UM_MICSETTING,TMessage,OnMicSetting)
MESSAGE_HANDLER(UM_OPENAUTOPROJ,TMessage,OnOpenAutoProj) //add by tj 2013/1/2
MESSAGE_HANDLER(UM_NOTIFICATION, TMessage, UMNotification) //add by tj 2014/04/17
MESSAGE_HANDLER(UM_UPLOADUSRICON,TMessage, OnUploadUsrIcon)
MESSAGE_HANDLER(WM_ERASEBKGND, TWMEraseBkgnd, WMEraseBkgnd)
MESSAGE_HANDLER(WM_DPICHANGED, TMessage, WMDpiChanged)
MESSAGE_HANDLER(UM_STARTCDTIMER, TMessage, UMStartCDTimer)
END_MESSAGE_MAP(TForm)
public: // User declarations
__fastcall TMainForm(TComponent* Owner);
__fastcall ~TMainForm();
public:
void SetSysMenuState(int iMenuIndex,bool bIsEnable);
int GetActivePageIndex();
};
//---------------------------------------------------------------------------
extern PACKAGE TMainForm *MainForm;
//---------------------------------------------------------------------------
#endif