📄 mixdlg.h
字号:
#if !defined(AFX_MIXDLG_H__02A37BE3_41CC_11D5_8DCF_EA5FA938DD34__INCLUDED_)
#define AFX_MIXDLG_H__02A37BE3_41CC_11D5_8DCF_EA5FA938DD34__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include "resource.h"
// MixDlg.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CMixDlg window
#include "AbWin.h"
#include "MixerStatus.h"
#include "TrackWin.h"
#include "KeyCmd.h"
#include "ColGen.h"
#include <deque>
class mi;
class CMixDlg : virtual public CAbWin
{
typedef std::deque<CTrackWin> TLstTrackWin;
CMixerStatus *m_pcMixer;
CWinRect m_cChildRect,m_cMinRect;
TLstTrackWin m_lstTrackWin;
int m_iFontHt;
CKeyHandler m_cKeyHandler;
bool m_bAlwaysOnTop;
CKeyDefDlg *m_pcKeyDefDlg;
string m_strTitle;
bool m_bOpenOnDblClk;
static const int cm_iMaxPresetNameLen;
static const int cm_iMaxMenuItemNameLen;
enum {cm_iMaxColors =255 };
typedef deque<CColGen*> TLstColGen;
// TLstColGen m_lstpColGen;
CColGen *m_lstpColGen[cm_iMaxColors];
int m_iCurrColGen;
int m_iCurUpTrack;
public:
CMixDlg(const char *,CMixerStatus *,const char *);
virtual ~CMixDlg();
virtual void Init(HWND);
virtual void DeInit();
virtual void Create();
virtual const char *GetTitle() const { return m_strTitle.c_str(); }
virtual const char *GetClassName() const { return "CMiXo"; }
virtual DWORD GetClassStyle() const { return (CS_GLOBALCLASS|CS_BYTEALIGNCLIENT); }
virtual HBRUSH GetBgBrush() const { return (HBRUSH)(COLOR_BACKGROUND + 1); }
virtual HCURSOR GetCursor() const { return ::LoadCursor(NULL,IDC_ARROW); }
virtual HICON GetIcon() const { return::LoadIcon(GetModule(),"SYSICON");}
virtual const char *GetMenuNameString() const { return "MENU1"; }
virtual DWORD GetExWinStyle() const { return 0;} //(WS_EX_CLIENTEDGE|WS_EX_CONTROLPARENT|WS_EX_NOPARENTNOTIFY)
virtual DWORD GetWinStyle() const { return (WS_BORDER|WS_CAPTION|WS_THICKFRAME|WS_VISIBLE|WS_POPUP|WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX); }
virtual LRESULT WindowProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
protected:
void StorePrs(int);
void LoadPrs(string);
void DoLoadPrs(int);
void DoMute();
void DoBypass();
void StartKeyDefDlg();
void InitMenu();
void InitPrsMenu();
void PreCreate();
void CreateChildren();
void NewChildren();
void DelChildren();
void ReGo() {if(IsWindow()) { NewChildren(); PreCreate(); CreateChildren(); } } //just a helper-change later
void InitFromReg();
void SetMenuItemText(string,int);
void InitMainMenu();
void SetWindowZpos();
void DoSlidGraying();
string ExtractPrsName(const char*);
bool SetMixerTracks();
void LockTrackWins(bool b);
void ChangeColorGen(int iNew);
void CreateColorsMenu();
void UpdateMonitorMenu(int);
void SetStyle(int);
public:
void UpdateTracks();
void DoPendingKeyEvents();
void AddTrack(const char*sz,bool b) { DelChildren();m_pcMixer->AddTrack(sz,b); ReGo(); }
void DeleteTrack(const char*sz) { DelChildren();m_pcMixer->DeleteTrack(sz); ReGo(); }
void SetTrackInputChannels(const char*sz,bool b) { m_pcMixer->SetTrackInputChannels(sz,b);}
void RenameTrack(const char*sz,const char*sz1) { m_pcMixer->RenameTrack(sz,sz1); SetMixerTracks(); }
bool ProcessInput(float *p,int n,float a) { assert(m_pcMixer); return m_pcMixer->ProcessInput(p,n,a); }
bool HandleInput(int idx,int amp,int pan) { return m_pcMixer->HandleInput(idx,amp,pan); }
int GetCurrentTrack() const { return m_pcMixer->GetCurrentTrack(); }
bool IsOpenOnDblClk() const { return m_bOpenOnDblClk; }
void SetMode(int);
void LoadPreset(int);
};
//#include <windef.h>
//#include <winnt.h>
//#include <winuser.h>
/*
class CMixDlg //: public CWnd
{
// Construction
public:
CMixDlg();
void Initialisation();
void DeInitialisation();
void Creation();
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMixDlg)
//}}AFX_VIRTUAL
// Implementation
public:
void Reactivate();
virtual ~CMixDlg();
// Generated message map functions
protected:
HMENU m_hMenu;
HWND m_hWnd;
WNDCLASSEX m_sWndClass;
//{{AFX_MSG(CMixDlg)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG
// DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
*/
#endif // !defined(AFX_MIXDLG_H__02A37BE3_41CC_11D5_8DCF_EA5FA938DD34__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -