📄 options.cpp
字号:
m_nCaseSensitive = -1;
m_nAsmInstrWithDot = -1;
m_bGenerateListing = FALSE;
m_strListingFile = _T("");
m_bGenerateBRKExtraByte = FALSE;
m_uBrkExtraByte = 0;
//}}AFX_DATA_INIT
}
COptionsAsmPage::~COptionsAsmPage()
{
}
void COptionsAsmPage::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(COptionsAsmPage)
DDX_Radio(pDX, IDC_OPT_ASM_CASE_Y, m_nCaseSensitive);
DDX_Radio(pDX, IDC_OPT_ASM_INSTR_DOT, m_nAsmInstrWithDot);
DDX_Check(pDX, IDC_OPT_ASM_GENERATE_LIST, m_bGenerateListing);
DDX_Text(pDX, IDC_OPT_ASM_FILE_LISTING, m_strListingFile);
DDX_Check(pDX, IDC_OPT_ASM_GENERATE_BYTE, m_bGenerateBRKExtraByte);
//}}AFX_DATA_MAP
// DDX_Text(pDX, IDC_OPT_ASM_EXTRA_BYTE, m_uBrkExtraByte);
DDX_HexDec(pDX, IDC_OPT_ASM_EXTRA_BYTE, m_uBrkExtraByte, false);
DDV_MinMaxUInt(pDX,m_uBrkExtraByte,0,0xFF);
}
BEGIN_MESSAGE_MAP(COptionsAsmPage, CPropertyPage)
//{{AFX_MSG_MAP(COptionsAsmPage)
ON_WM_HELPINFO()
ON_WM_CONTEXTMENU()
ON_BN_CLICKED(IDC_OPT_ASM_CHOOSE_FILE, OnOptAsmChooseFile)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// COptionsAsmPage message handlers
/////////////////////////////////////////////////////////////////////////////
// COptionsDeasmPage property page
IMPLEMENT_DYNCREATE(COptionsDeasmPage, CPropertyPage)
COptionsDeasmPage::COptionsDeasmPage() : CPropertyPage(COptionsDeasmPage::IDD)
{
//{{AFX_DATA_INIT(COptionsDeasmPage)
m_ShowCode = FALSE;
//}}AFX_DATA_INIT
m_bSubclassed = FALSE;
m_bColorChanged = FALSE;
}
COptionsDeasmPage::~COptionsDeasmPage()
{
}
void COptionsDeasmPage::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(COptionsDeasmPage)
DDX_Check(pDX, IDC_OPT_DA_CODE, m_ShowCode);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(COptionsDeasmPage, CPropertyPage)
//{{AFX_MSG_MAP(COptionsDeasmPage)
ON_BN_CLICKED(IDC_OPT_DA_ADDR_COL, OnAddrColButton)
ON_BN_CLICKED(IDC_OPT_DA_CODE_COL, OnCodeColButton)
ON_WM_HELPINFO()
ON_WM_CONTEXTMENU()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// COptionsDeasmPage message handlers
void COptionsDeasmPage::OnAddrColButton()
{
CColorDialog dlg(m_rgbAddress,CC_FULLOPEN);
if (dlg.DoModal() == IDOK && m_rgbAddress != dlg.GetColor())
{
m_rgbAddress = dlg.GetColor();
m_bColorChanged = TRUE;
m_ColorButtonAddress.InvalidateRect(NULL);
}
}
void COptionsDeasmPage::OnCodeColButton()
{
CColorDialog dlg(m_rgbCode,CC_FULLOPEN);
if (dlg.DoModal() == IDOK && m_rgbCode != dlg.GetColor())
{
m_rgbCode = dlg.GetColor();
m_bColorChanged = TRUE;
m_ColorButtonCode.InvalidateRect(NULL);
}
}
BOOL COptionsDeasmPage::OnSetActive()
{
if (!m_bSubclassed)
{
m_ColorButtonAddress.SubclassDlgItem(IDC_OPT_DA_ADDR_COL,this);
m_ColorButtonAddress.SetColorRef(&m_rgbAddress);
m_ColorButtonCode.SubclassDlgItem(IDC_OPT_DA_CODE_COL,this);
m_ColorButtonCode.SetColorRef(&m_rgbCode);
// m_ColorButtonInstr.SubclassDlgItem(IDC_OPT_DA_INSTR_COL,this);
// m_ColorButtonInstr.SetColorRef(&m_rgbInstr);
m_bSubclassed = TRUE;
}
return CPropertyPage::OnSetActive();
}
/////////////////////////////////////////////////////////////////////////////
// COptionsMarksPage property page
IMPLEMENT_DYNCREATE(COptionsMarksPage, CPropertyPage)
COptionsMarksPage::COptionsMarksPage() : CPropertyPage(COptionsMarksPage::IDD)
{
//{{AFX_DATA_INIT(COptionsMarksPage)
m_nProc6502 = -1;
m_uBusWidth = 16;
//}}AFX_DATA_INIT
m_bSubclassed = FALSE;
m_bColorChanged = FALSE;
m_bFontChanged = FALSE;
}
COptionsMarksPage::~COptionsMarksPage()
{
}
void COptionsMarksPage::DoDataExchange(CDataExchange* pDX)
{
if (!pDX->m_bSaveAndValidate)
{
CSpinButtonCtrl *pTab;
pTab = (CSpinButtonCtrl *) GetDlgItem(IDC_OPT_BUS_SPIN);
ASSERT(pTab != NULL);
pTab->SetRange(10,16); // wielko滄 szyny adresowej
}
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(COptionsMarksPage)
DDX_Radio(pDX, IDC_OPT_6502, m_nProc6502);
DDX_Text(pDX, IDC_OPT_BUS_WIDTH, m_uBusWidth);
DDV_MinMaxUInt(pDX, m_uBusWidth, 10, 16);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(COptionsMarksPage, CPropertyPage)
//{{AFX_MSG_MAP(COptionsMarksPage)
ON_BN_CLICKED(IDC_OPT_MARK_BRKP_COL, OnBrkpColButton)
ON_BN_CLICKED(IDC_OPT_MARK_ERR_COL, OnErrColButton)
ON_BN_CLICKED(IDC_OPT_MARK_PTR_COL, OnPtrColButton)
ON_WM_HELPINFO()
ON_WM_CONTEXTMENU()
ON_BN_CLICKED(IDC_OPT_FONT_BTN, OnOptFontBtn)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// COptionsMarksPage message handlers
void COptionsMarksPage::OnBrkpColButton()
{
CColorDialog dlg(m_rgbBreakpoint,CC_FULLOPEN);
if (dlg.DoModal() == IDOK && m_rgbBreakpoint != dlg.GetColor())
{
m_rgbBreakpoint = dlg.GetColor();
m_bColorChanged = TRUE;
m_ColorButtonBreakpoint.InvalidateRect(NULL);
}
}
void COptionsMarksPage::OnErrColButton()
{
CColorDialog dlg(m_rgbError,CC_FULLOPEN);
if (dlg.DoModal() == IDOK && m_rgbError != dlg.GetColor())
{
m_rgbError = dlg.GetColor();
m_bColorChanged = TRUE;
m_ColorButtonBreakpoint.InvalidateRect(NULL);
}
}
void COptionsMarksPage::OnPtrColButton()
{
CColorDialog dlg(m_rgbPointer,CC_FULLOPEN);
if (dlg.DoModal() == IDOK && m_rgbPointer != dlg.GetColor())
{
m_rgbPointer = dlg.GetColor();
m_bColorChanged = TRUE;
m_ColorButtonBreakpoint.InvalidateRect(NULL);
}
}
BOOL COptionsMarksPage::OnSetActive()
{
if (!m_bSubclassed)
{
m_ColorButtonPointer.SubclassDlgItem(IDC_OPT_MARK_PTR_COL,this);
m_ColorButtonPointer.SetColorRef(&m_rgbPointer);
m_ColorButtonBreakpoint.SubclassDlgItem(IDC_OPT_MARK_BRKP_COL,this);
m_ColorButtonBreakpoint.SetColorRef(&m_rgbBreakpoint);
m_ColorButtonError.SubclassDlgItem(IDC_OPT_MARK_ERR_COL,this);
m_ColorButtonError.SetColorRef(&m_rgbError);
m_bSubclassed = TRUE;
}
return CPropertyPage::OnSetActive();
}
void COptionsMarksPage::OnOptFontBtn()
{
CFontDialog fnt(&m_LogFont,CF_SCREENFONTS | CF_FIXEDPITCHONLY |
CF_INITTOLOGFONTSTRUCT | CF_FORCEFONTEXIST | CF_SCRIPTSONLY);
if (fnt.DoModal() == IDOK)
{
m_bFontChanged = TRUE;
m_LogFont = fnt.m_lf;
SetDlgItemText(IDC_OPT_FONT_NAME,m_LogFont.lfFaceName);
}
}
DWORD COptions::m_arrIds[]=
{
IDC_OPT_SYM_FIN_BRK, 0xA0000 + IDC_OPT_SYM_FIN_BRK,
IDC_OPT_SYM_FIN_FF, 0xA0000 + IDC_OPT_SYM_FIN_FF,
IDC_OPT_SYM_FIN_RTS, 0xA0000 + IDC_OPT_SYM_FIN_RTS,
IDC_OPT_SYM_IO_ADDR, 0xA0000 + IDC_OPT_SYM_IO_ADDR,
IDC_OPT_SYM_IO_ENABLE, 0xA0000 + IDC_OPT_SYM_IO_ENABLE,
IDC_OPT_SYM_IO_WND_W, 0xA0000 + IDC_OPT_SYM_IO_WND_W,
IDC_OPT_SYM_IO_WND_H, 0xA0000 + IDC_OPT_SYM_IO_WND_H,
IDC_OPT_SYM_WND_TXT_COL, 0xA0000 + IDC_OPT_SYM_WND_TXT_COL,
IDC_OPT_SYM_WND_BGND_COL, 0xA0000 + IDC_OPT_SYM_WND_BGND_COL,
IDC_OPT_SYM_FONT_BTN, 0xA0000 + IDC_OPT_SYM_FONT_BTN,
IDC_OPT_SYM_FONT_NAME, 0xA0000 + IDC_OPT_SYM_FONT_NAME,
IDC_OPT_ASM_CASE_N, 0xA0000 + IDC_OPT_ASM_CASE_N,
IDC_OPT_ASM_CASE_Y, 0xA0000 + IDC_OPT_ASM_CASE_Y,
IDC_OPT_ASM_INSTR_DOT, 0xA0000 + IDC_OPT_ASM_INSTR_DOT,
IDC_OPT_ASM_GENERATE_LIST, 0xA0000 + IDC_OPT_ASM_GENERATE_LIST,
IDC_OPT_ASM_FILE_LISTING, 0xA0000 + IDC_OPT_ASM_FILE_LISTING,
IDC_OPT_ASM_GENERATE_BYTE, 0xA0000 + IDC_OPT_ASM_GENERATE_BYTE,
IDC_OPT_ASM_EXTRA_BYTE, 0xA0000 + IDC_OPT_ASM_EXTRA_BYTE,
IDC_OPT_ASM_CHOOSE_FILE, 0xA0000 + IDC_OPT_ASM_CHOOSE_FILE,
IDC_OPT_DA_ADDR_COL, 0xA0000 + IDC_OPT_DA_ADDR_COL,
IDC_OPT_DA_CODE, 0xA0000 + IDC_OPT_DA_CODE,
IDC_OPT_DA_CODE_COL, 0xA0000 + IDC_OPT_DA_CODE_COL,
IDC_OPT_DA_INSTR_COL, 0xA0000 + IDC_OPT_DA_INSTR_COL,
IDC_OPT_ED_AUTO_INDENT, 0xA0000 + IDC_OPT_ED_AUTO_INDENT,
IDC_OPT_ED_AUTO_SYNTAX, 0xA0000 + IDC_OPT_ED_AUTO_SYNTAX,
IDC_OPT_ED_AUTO_UPPER_CASE, 0xA0000 + IDC_OPT_ED_AUTO_UPPER_CASE,
IDC_OPT_ED_FONT_BTN, 0xA0000 + IDC_OPT_ED_FONT_BTN,
IDC_OPT_ED_FONT_NAME, 0xA0000 + IDC_OPT_ED_FONT_NAME,
IDC_OPT_ED_NEW_FILE, 0xA0000 + IDC_OPT_ED_NEW_FILE,
IDC_OPT_ED_TAB_SPIN, 0xA0000 + IDC_OPT_ED_TAB_STEP,
IDC_OPT_ED_TAB_STEP, 0xA0000 + IDC_OPT_ED_TAB_STEP,
IDC_OPT_MARK_BRKP_COL, 0xA0000 + IDC_OPT_MARK_BRKP_COL,
IDC_OPT_MARK_ERR_COL, 0xA0000 + IDC_OPT_MARK_ERR_COL,
IDC_OPT_MARK_PTR_COL, 0xA0000 + IDC_OPT_MARK_PTR_COL,
IDC_OPT_6502, 0xA0000 + IDC_OPT_6502,
IDC_OPT_65C02, 0xA0000 + IDC_OPT_65C02,
IDC_OPT_BUS_SPIN, 0xA0000 + IDC_OPT_BUS_WIDTH,
IDC_OPT_BUS_WIDTH, 0xA0000 + IDC_OPT_BUS_WIDTH,
0,0
};
BOOL COptionsSymPage::OnHelpInfo(HELPINFO *pHelpInfo)
{
::WinHelp(HWND(pHelpInfo->hItemHandle), AfxGetApp()->m_pszHelpFilePath,
HELP_WM_HELP, (DWORD)(void*)COptions::m_arrIds);
return TRUE;
// case WM_CONTEXTMENU:
// WinHelp((HWND) wParam, "helpfile.hlp", HELP_CONTEXTMENU,
// (DWORD) (LPVOID) aIds);
// return CPropertyPage::OnHelpInfo(pHelpInfo);
}
BOOL COptionsDeasmPage::OnHelpInfo(HELPINFO* pHelpInfo)
{
::WinHelp(HWND(pHelpInfo->hItemHandle), AfxGetApp()->m_pszHelpFilePath,
HELP_WM_HELP, (DWORD)(void*)COptions::m_arrIds);
return TRUE;
}
BOOL COptionsEditPage::OnHelpInfo(HELPINFO* pHelpInfo)
{
::WinHelp(HWND(pHelpInfo->hItemHandle), AfxGetApp()->m_pszHelpFilePath,
HELP_WM_HELP, (DWORD)(void*)COptions::m_arrIds);
return TRUE;
}
BOOL COptionsMarksPage::OnHelpInfo(HELPINFO* pHelpInfo)
{
::WinHelp(HWND(pHelpInfo->hItemHandle), AfxGetApp()->m_pszHelpFilePath,
HELP_WM_HELP, (DWORD)(void*)COptions::m_arrIds);
return TRUE;
}
BOOL COptionsAsmPage::OnHelpInfo(HELPINFO* pHelpInfo)
{
::WinHelp(HWND(pHelpInfo->hItemHandle), AfxGetApp()->m_pszHelpFilePath,
HELP_WM_HELP, (DWORD)(void*)COptions::m_arrIds);
return TRUE;
}
BOOL COptions::OnHelpInfo(HELPINFO* pHelpInfo)
{
return TRUE;
// return CPropertySheet::OnHelpInfo(pHelpInfo);
}
void COptionsSymPage::OnContextMenu(CWnd* pWnd, CPoint point)
{
::WinHelp(pWnd->GetSafeHwnd(), AfxGetApp()->m_pszHelpFilePath,
HELP_CONTEXTMENU, (DWORD)(void*)COptions::m_arrIds);
}
void COptions::OnContextMenu(CWnd* pWnd, CPoint point)
{
::WinHelp(pWnd->GetSafeHwnd(), AfxGetApp()->m_pszHelpFilePath,
HELP_CONTEXTMENU, (DWORD)(void*)COptions::m_arrIds);
}
void COptionsAsmPage::OnContextMenu(CWnd* pWnd, CPoint point)
{
::WinHelp(pWnd->GetSafeHwnd(), AfxGetApp()->m_pszHelpFilePath,
HELP_CONTEXTMENU, (DWORD)(void*)COptions::m_arrIds);
}
void COptionsDeasmPage::OnContextMenu(CWnd* pWnd, CPoint point)
{
::WinHelp(pWnd->GetSafeHwnd(), AfxGetApp()->m_pszHelpFilePath,
HELP_CONTEXTMENU, (DWORD)(void*)COptions::m_arrIds);
}
void COptionsEditPage::OnContextMenu(CWnd* pWnd, CPoint point)
{
::WinHelp(pWnd->GetSafeHwnd(), AfxGetApp()->m_pszHelpFilePath,
HELP_CONTEXTMENU, (DWORD)(void*)COptions::m_arrIds);
}
void COptionsMarksPage::OnContextMenu(CWnd* pWnd, CPoint point)
{
::WinHelp(pWnd->GetSafeHwnd(), AfxGetApp()->m_pszHelpFilePath,
HELP_CONTEXTMENU, (DWORD)(void*)COptions::m_arrIds);
}
void COptionsAsmPage::OnOptAsmChooseFile()
{
CString filter;
filter.LoadString(IDS_ASM_OPT_LIST_FILES);
CFileDialog dlg(TRUE,_T("lst"),NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,filter);
if (dlg.DoModal() != IDOK)
return;
SetDlgItemText(IDC_OPT_ASM_FILE_LISTING,dlg.GetPathName());
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -