⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 manipulatebitsdlg.cpp

📁 HEX编辑器
💻 CPP
字号:
// ManipulateBitsDlg.cpp : implementation file
//

#include "stdafx.h"
#include "fshed.h"
#include "ManipulateBitsDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CManipulateBitsDlg dialog


CManipulateBitsDlg::CManipulateBitsDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CManipulateBitsDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CManipulateBitsDlg)
	m_bChk1 = FALSE;
	m_bChk2 = FALSE;
	m_bChk3 = FALSE;
	m_bChk4 = FALSE;
	m_bChk5 = FALSE;
	m_bChk6 = FALSE;
	m_bChk7 = FALSE;
	m_bChk8 = FALSE;
	m_strLabel1 = _T("");
	m_strLabel2 = _T("");
	//}}AFX_DATA_INIT
   m_nBitPos = 0;
   m_chValue = 0;
}


void CManipulateBitsDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CManipulateBitsDlg)
	DDX_Check(pDX, IDC_CHECK1, m_bChk1);
	DDX_Check(pDX, IDC_CHECK2, m_bChk2);
	DDX_Check(pDX, IDC_CHECK3, m_bChk3);
	DDX_Check(pDX, IDC_CHECK4, m_bChk4);
	DDX_Check(pDX, IDC_CHECK5, m_bChk5);
	DDX_Check(pDX, IDC_CHECK6, m_bChk6);
	DDX_Check(pDX, IDC_CHECK7, m_bChk7);
	DDX_Check(pDX, IDC_CHECK8, m_bChk8);
	//}}AFX_DATA_MAP
   if (pDX->m_bSaveAndValidate)
   {
      m_chValue = 0;
		if (m_bChk8) m_chValue += 128;
		if (m_bChk7) m_chValue += 64;
		if (m_bChk6) m_chValue += 32;
		if (m_bChk5) m_chValue += 16;
		if (m_bChk4) m_chValue += 8;
		if (m_bChk3) m_chValue += 4;
		if (m_bChk2) m_chValue += 2;
		if (m_bChk1) m_chValue += 1;
   }
   else
   {
	   m_strLabel1.Format(IDS_LAB_MANIP_OFFSET, m_nBitPos, m_nBitPos );
	   m_strLabel2.Format(IDS_LAB_MANIP_SIGNED, (unsigned char) m_chValue, (signed char) m_chValue, (unsigned char) m_chValue);
   }
	DDX_Text(pDX, IDC_STATIC1, m_strLabel1);
	DDX_Text(pDX, IDC_STATIC2, m_strLabel2);
}


BEGIN_MESSAGE_MAP(CManipulateBitsDlg, CDialog)
	//{{AFX_MSG_MAP(CManipulateBitsDlg)
	ON_BN_CLICKED(IDC_CHECK1, OnCheck)
	ON_BN_CLICKED(IDC_CHECK2, OnCheck)
	ON_BN_CLICKED(IDC_CHECK3, OnCheck)
	ON_BN_CLICKED(IDC_CHECK4, OnCheck)
	ON_BN_CLICKED(IDC_CHECK5, OnCheck)
	ON_BN_CLICKED(IDC_CHECK6, OnCheck)
	ON_BN_CLICKED(IDC_CHECK7, OnCheck)
	ON_BN_CLICKED(IDC_CHECK8, OnCheck)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CManipulateBitsDlg message handlers
#define bitval(base,pos) ((base)[(pos)/8]&(1<<((pos)%8)))

BOOL CManipulateBitsDlg::OnInitDialog() 
{
   m_bChk1 = (bitval(&m_chValue,0) ? TRUE : FALSE);
   m_bChk2 = (bitval(&m_chValue,1) ? TRUE : FALSE);
   m_bChk3 = (bitval(&m_chValue,2) ? TRUE : FALSE);
   m_bChk4 = (bitval(&m_chValue,3) ? TRUE : FALSE);
   m_bChk5 = (bitval(&m_chValue,4) ? TRUE : FALSE);
   m_bChk6 = (bitval(&m_chValue,5) ? TRUE : FALSE);
   m_bChk7 = (bitval(&m_chValue,6) ? TRUE : FALSE);
   m_bChk8 = (bitval(&m_chValue,7) ? TRUE : FALSE);
	CDialog::OnInitDialog();
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CManipulateBitsDlg::OnOK() 
{
	// TODO: Add extra validation here
	
	CDialog::OnOK();
}

void CManipulateBitsDlg::OnCheck() 
{
   UpdateData();
	UpdateData(FALSE);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -