MFC 16 进制HEX显示控件

国外的源码,剥离自demo。感觉略牛x。所以分享下。。


用法很简单,新建一个Edit。然后手动添加关联

cpp文件如下方法添加

void CDdDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDdDlg)
DDX_Control(pDX, IDC_EDIT1, m_cHexEditMultiline1); // 添加这一行
// NOTE: the ClassWizard will add DDX and DDV calls here
//}}AFX_DATA_MAP
}
下面是头文件里需要添加的

#include "hexeditbase.h"
class CDdDlg : public CDialog
{
// Construction
public:
CDdDlg(CWnd* pParent = NULL);   // standard constructor
// Dialog Data
//{{AFX_DATA(CDdDlg)
enum { IDD = IDD_DD_DIALOG };
CHexEditBase m_cHexEditMultiline1;  // 添加这一行

用法:
BYTE bTest[2048];
// prepare testdata
for(int i=0; i<2048; ++i) {
bTest[i] = (BYTE)i;
}
m_cHexEditMultiline1.SetAddressSize(3, false);
m_cHexEditMultiline1.SetShowAddress(true, false);
m_cHexEditMultiline1.SetBytesPerRow(8, true, false);
m_cHexEditMultiline1.SetData(bTest,2048);
m_cHexEditMultiline1.SetShowAscii(true); // 显示ascii
m_cHexEditMultiline1.SetAsciiCol(16777215,0); // 设置颜色 第一个是背景 第二个是字体
m_cHexEditMultiline1.SetAdrCol(16777215,0);


猜你喜欢

转载自blog.csdn.net/mini92/article/details/79397532