📄 mainfrm.h
字号:
// MainFrm.h : interface of the CMainFrame class
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_MAINFRM_H__DB58B39D_5E6C_11D5_8E58_0050BA1AACA1__INCLUDED_)
#define AFX_MAINFRM_H__DB58B39D_5E6C_11D5_8E58_0050BA1AACA1__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "midi.h"
extern UINT RWM_POSITIONCHANGED; // a registered message
extern UINT RWM_PLAYEDOFF;
class CMainFrame;
class CMyMidi : public CMIDI {
CMainFrame * m_pDlg;
public:
void SetOwner(CMainFrame * pDlg) {
m_pDlg = pDlg;
}
protected:
inline virtual void OnMidiOutDone(MIDIHDR & hdr);
inline virtual void OnMidiOutClose();
};
class CMainFrame : public CFrameWnd
{
protected: // create from serialization only
CMainFrame();
DECLARE_DYNCREATE(CMainFrame)
int width;
int height;
CMyMidi bkmidi;
// Attributes
public:
CMenu chinesemenu;
CMenu englishmenu;
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMainFrame)
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
//}}AFX_VIRTUAL
DWORD threadid;
HANDLE nowthread;
HANDLE memp;
HANDLE pausemem;
BOOL quit;
static UINT myproc(LPVOID lparam);
// Implementation
public:
virtual ~CMainFrame();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
public: // control bar embedded members
CStatusBar m_wndStatusBar;
BOOL midiplay;
// Generated message map functions
protected:
//{{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnRENSHU();
afx_msg void OnCHINESE();
afx_msg void OnENGLISH();
afx_msg void OnMIDIPLAY();
afx_msg void OnUpdateMIDIPLAY(CCmdUI* pCmdUI);
afx_msg void OnSetFocus(CWnd* pOldWnd);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
inline void CMyMidi::OnMidiOutDone(MIDIHDR & hdr) {
// Always call base method !
CMIDI::OnMidiOutDone(hdr);
ASSERT(m_pDlg != 0);
m_pDlg->PostMessage(RWM_POSITIONCHANGED, WPARAM(m_dwProgressBytes));
}
inline void CMyMidi::OnMidiOutClose() {
// Always call base method!
CMIDI::OnMidiOutClose();
ASSERT(m_pDlg != 0);
m_pDlg->PostMessage(RWM_PLAYEDOFF);
}
#endif // !defined(AFX_MAINFRM_H__DB58B39D_5E6C_11D5_8E58_0050BA1AACA1__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -