AxibugEmuOnline/References/virtuanessrc097-master/MainFrame.h
2024-08-05 17:58:53 +08:00

211 lines
10 KiB
C++
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// メインウインドウクラス
//
#ifndef __CMAINFRAME_INCLUDED__
#define __CMAINFRAME_INCLUDED__
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <string>
using namespace std;
#include "Wnd.h"
#include "EmuThread.h"
#include "LauncherDlg.h"
#include "CheatDlg.h"
#include "PatternView.h"
#include "NameTableView.h"
#include "PaletteView.h"
#include "MemoryView.h"
#include "DatachBarcodeDlg.h"
#include "ChatDlg.h"
#include "PaletteEdit.h"
#include "DipSwitchDlg.h"
#include "AviConvDlg.h"
class CMainFrame : public CWnd
{
public:
// Override from CWnd
BOOL Create( HWND hWndParent );
void Destroy();
// Override from CWnd
BOOL PreTranslateMessage( MSG* pMsg );
static void OnKeyControl();
protected:
void OnEmulationStart( LPCSTR szFile, BOOL bChecked );
void OnFullScreenGDI( BOOL bFlag );
void OnShowCursor( BOOL bFlag );
void OnChangeMenu( BOOL bFlag );
void OnSetWindowSize();
void OnRebuildMenu();
void OnUpdateMenu( HMENU hMenu, UINT uID );
static void _cdecl KeyThreadProc( LPVOID lpParam );
// Message map
WND_MESSAGE_MAP()
WNDMSG OnCreate( WNDMSGPARAM );
WNDMSG OnClose( WNDMSGPARAM );
WNDMSG OnDestroy( WNDMSGPARAM );
WNDMSG OnActivate( WNDMSGPARAM );
WNDMSG OnActivateApp( WNDMSGPARAM );
WNDMSG OnShortCutEnable( WNDMSGPARAM ); // Private message
WNDMSG OnEnable( WNDMSGPARAM );
WNDMSG OnEnterMenuLoop( WNDMSGPARAM );
WNDMSG OnExitMenuLoop( WNDMSGPARAM );
WNDMSG OnSetFocus( WNDMSGPARAM );
WNDMSG OnKillFocus( WNDMSGPARAM );
WNDMSG OnInitMenu( WNDMSGPARAM );
WNDMSG OnInitMenuPopup( WNDMSGPARAM );
WNDMSG OnGetMinMaxInfo( WNDMSGPARAM );
WNDMSG OnPaint( WNDMSGPARAM );
WNDMSG OnDisplayChange( WNDMSGPARAM );
WNDMSG OnPaletteChanged( WNDMSGPARAM );
WNDMSG OnQueryNewPalette( WNDMSGPARAM );
WNDMSG OnMenuChar( WNDMSGPARAM );
WNDMSG OnKeyDown( WNDMSGPARAM );
WNDMSG OnSize( WNDMSGPARAM );
WNDMSG OnSysCommand( WNDMSGPARAM );
WNDMSG OnExitSizeMove( WNDMSGPARAM );
WNDMSG OnSetCursor( WNDMSGPARAM );
WNDMSG OnTimer( WNDMSGPARAM );
WNDMSG OnCopyData( WNDMSGPARAM );
WNDMSG OnErrorMessage( WNDMSGPARAM ); // Private message
WNDMSG OnDropFiles( WNDMSGPARAM );
WNDMSG OnCommandLine( WNDMSGPARAM ); // Private message
WNDMSG OnLauncherCommand( WNDMSGPARAM ); // Private message
WNDMSG OnNetPlay( WNDMSGPARAM );
WNDMSG OnNetPlayClose( WNDMSGPARAM );
WNDMSG OnNetPlayError( WNDMSGPARAM );
WNDMSG OnNetPlayChatPopup( WNDMSGPARAM );
WNDCMD OnExit( WNDCMDPARAM );
WNDCMD OnHelp( WNDCMDPARAM );
WNDCMD OnAbout( WNDCMDPARAM );
WNDCMD OnFileOpen( WNDCMDPARAM );
WNDCMD OnFileClose( WNDCMDPARAM );
WNDCMD OnRecentOpen( WNDCMDPARAM );
WNDCMD OnRecentOpenPath( WNDCMDPARAM );
WNDCMD OnRomInfo( WNDCMDPARAM );
WNDCMD OnWaveRecord( WNDCMDPARAM );
WNDCMD OnLauncher( WNDCMDPARAM );
WNDCMD OnSearch( WNDCMDPARAM );
WNDCMD OnCheat( WNDCMDPARAM );
WNDCMD OnGenie( WNDCMDPARAM );
WNDCMD OnCheatCommand( WNDCMDPARAM );
WNDCMD OnDatachBacode( WNDCMDPARAM );
WNDCMD OnDipSwitch( WNDCMDPARAM );
WNDCMD OnNetPlayConnect( WNDCMDPARAM );
WNDCMD OnNetPlayDisconnect( WNDCMDPARAM );
WNDCMD OnNetPlayChat( WNDCMDPARAM );
WNDCMD OnEmulatorCfg( WNDCMDPARAM );
WNDCMD OnGraphicsCfg( WNDCMDPARAM );
WNDCMD OnSoundCfg( WNDCMDPARAM );
WNDCMD OnControllerCfg( WNDCMDPARAM );
WNDCMD OnShortcutCfg( WNDCMDPARAM );
WNDCMD OnFolderCfg( WNDCMDPARAM );
WNDCMD OnLanguageCfg( WNDCMDPARAM );
WNDCMD OnMovieCfg( WNDCMDPARAM );
WNDCMD OnGameOptionCfg( WNDCMDPARAM );
WNDCMD OnJoyAxisCfg( WNDCMDPARAM );
WNDCMD OnPaletteEditCfg( WNDCMDPARAM );
WNDCMD OnFullScreen( WNDCMDPARAM );
WNDCMD OnZoom( WNDCMDPARAM );
WNDCMD OnViewCommand( WNDCMDPARAM );
WNDCMD OnEmuCommand( WNDCMDPARAM );
WNDCMD OnStateCommand( WNDCMDPARAM );
WNDCMD OnStateCommand2( WNDCMDPARAM ); // For QuickLoad/Save
WNDCMD OnMovieCommand( WNDCMDPARAM );
WNDCMD OnMovieInfo( WNDCMDPARAM );
WNDCMD OnMovieConv( WNDCMDPARAM );
WNDCMD OnTapeCommand( WNDCMDPARAM );
// Command line
CHAR m_szCommandLine[_MAX_PATH];
// Window activate flags
BOOL m_bActivate;
BOOL m_bActivateApp;
BOOL m_bForcus;
BOOL m_bEnable;
static BOOL m_bKeyEnable;
// Cursor
BOOL m_bCursor;
UINT m_uTimerID;
DWORD m_LastMovedTime;
// Menu flags
BOOL m_bMenu;
// Window Position
BOOL m_bZoomed;
RECT m_WindowRect;
WINDOWPLACEMENT m_WindowPlacement;
// Window Style
LONG m_ExStyleBackup;
LONG m_StyleBackup;
// Short Cut
UINT m_uKeyTimerID;
volatile BOOL m_bKeyChecking;
static DWORD m_dwKeyTime;
static BYTE m_KeyBuf[256+64*8];
static BYTE m_KeyOld[256+64*8];
static BYTE m_KeyCnt[256*64*8];
static volatile BOOL m_bKeyThreadExit;
// Emulator
NES* Nes;
// CEmuThread Emu;
// State slot
INT m_nStateSlot;
// Launcher
CLauncherDlg m_LauncherDlg;
// Cheat
CSearchDlg m_SearchDlg;
// Viewer
CPatternView m_PatternView;
CNameTableView m_NameTableView;
CPaletteView m_PaletteView;
CMemoryView m_MemoryView;
// Palette Editor
CPaletteEdit m_PaletteEdit;
// Cheat
CDatachBarcodeDlg m_DatachBarcodeDlg;
// Chat
CChatDlg m_ChatDlg;
private:
};
#endif // !__CMAINFRAME_INCLUDED__