MFC版哈希值计算器的实现(一)

本文介绍如何使用MFC创建一个哈希值计算器,具备计算MD5和SHA1、右键插入比较、拖拽文件及多文件进度显示等功能。讨论了在界面编程中Tab Control的子窗口设置、List Control高亮问题以及动态管理进度条的技巧。
摘要由CSDN通过智能技术生成

打算学习下C++方面的编程,先从MFC下手。

http://download.csdn.net/user/fox4it


界面实现

主要控件包括 Tab Control, List Control, Dialog(style: Child)

功能:

1 计算 / 比较MD5 / SHA1

2 右键直接插入哈希值以便和计算值比较

3 支持直接拖拽文件

4 支持多个文件同时计算,并分别显示其计算进度



界面编程中几个注意事项:

1 Tab Control 放在Dialog中,以子窗口的形式显示在主窗口

主窗口初始化函数

BOOL CEasyToolsDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	IDC_Progress_Base = 2000;

	//Add Tabs
	m_tabEasyTools.InsertItem(0, "Hash Tool");
	
	m_pageHashTool.Create(IDD_HashTool_DIALOG, &m_tabEasyTools);

	CRect rc;
	m_tabEasyTools.GetClientRect(rc);
	rc.top += 24;
	rc.bottom -= 5;
	rc.left += 5;
	rc.right -= 5;
	m_pageHashTool.MoveWindow(&rc);

	pDialog[0] = &m_pageHashTool;
	pDialog[0]->ShowWindow(SW_SHOW);

	m_nCurrentTab = 0;	

	m_StatusBar.Create(this);//, WS_CHILD|WS_VISIBLE|CBRS_BOTTOM);

	CRect rcStatusBar;
	GetClientRect(&rcStatusBar);
	m_StatusBar.MoveWindow(0,rcStatusBar.bottom-15, rcStatusBar.right, 15);

	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon

	return TRUE;
}


子窗口初始化函数

BOOL CHashToolDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	dlgHashTool = this;

	m_listHashInfo.InsertColumn(0, "File Attribute")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值