📄 disassemblybar.cpp
字号:
// DisassemblyBar.cpp: implementation of the CDisassemblyBar class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "c02ide.h"
#include "DisassemblyBar.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
const UINT FTS_XT_BOTTOM = 0x0001;
// Show back and next arrows.
const UINT FTS_XT_HASARROWS = 0x0002;
// Show home and end arrows. Used with FTS_XT_HASARROWS.
const UINT FTS_XT_HASHOMEEND = 0x0004;
// Show tooltips.
const UINT FTS_XT_TOOLTIPS = 0x0008;
// Same as FTS_XT_BOTTOM | FTS_XT_HASARROWS | FTS_XT_HASHOMEEND | FTS_XT_TOOLTIPS.
const UINT FTS_XT_DEFAULT = 0x000F;
// Show a horizontal scroll bar.
const UINT FTS_XT_HSCROLL = 0x0010;
// All FTS_ mask items.
const UINT FTS_XT_MASK = 0x001F;
BEGIN_MESSAGE_MAP(CDisassemblyBar, CCJControlBar)
//{{AFX_MSG_MAP(CWatchBar)
ON_WM_CREATE()
ON_WM_PAINT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CDisassemblyBar::CDisassemblyBar()
{
m_Font.CreateFont(10,10,0,0,0,0,0,0,
DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY, FIXED_PITCH,"Courier");
}
CDisassemblyBar::~CDisassemblyBar()
{
}
int CDisassemblyBar::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CCJControlBar::OnCreate(lpCreateStruct) == -1)
return -1;
// LPCREATESTRUCT lpCreateStruct:
// CCrystalEditView::OnCreate(lpCreateStruct);
DWORD dwStyle=ES_MULTILINE|WS_VISIBLE|WS_CHILD|WS_VSCROLL|WS_HSCROLL
| LBS_NOINTEGRALHEIGHT|ES_AUTOHSCROLL|ES_AUTOVSCROLL |ES_READONLY ;
//创建各个输出页面
// int nListCount = sizeof(m_OutputList)/sizeof(m_OutputList[0]);
// for( int iList = 0; iList < nListCount; ++iList)
{
if (!m_disassemctrl.Create( dwStyle, CRect(0,0,0,0), this,
IDC_DISASSEMBCTRL ))
{
TRACE(_T("Failed to create output window.\n"));
return -1;
}
//设置输出页面的字体
m_disassemctrl.SetFont( &m_Font );
}
SetChild(&m_disassemctrl);
return 1;
}
void CDisassemblyBar::OnPaint()
{
CPaintDC dc(this); // device context for painting
CRect rc;
m_iAuxImage = (UINT)-1;
GetClientRect(&rc);
CRect rect;
GetChildRect(rect);
DrawBorders(&dc,rc);
dc.Draw3dRect(rect, ::GetSysColor(COLOR_3DDKSHADOW),
::GetSysColor(COLOR_3DDKSHADOW));
}
int CDisassemblyBar::UpdateText(CString str_dir)
{
CString str_addstring=_T("");
CString str_line=_T("");
// str_addstring=_T("Compiling ")+str_file+_T("...");
int i_fend=0;
int i_errnum=0;
// FILE *pf;
// if((pf=fopen(str_errordir,"r"))==NULL)
// return 0;
// ferr..open(str_errordir,'r');
CFileException fileException;
CStdioFile myFile;
if(!myFile.Open(str_dir,CFile::modeRead|CFile::typeText))
return 0;
int i=myFile.GetLength();
if(myFile.GetLength()!=0)
do
{
i_fend=myFile.ReadString(str_line);
str_addstring=str_addstring+str_line+"\n";
// i_errnum++;
}while (i_fend!=NULL);
// CString str_num=_T("");
// str_num.Format("%d", i_errnum);
// str_addstring=str_addstring+"There are "+str_num+" errors";
m_disassemctrl.SetWindowText(str_addstring);
myFile.Close();
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -