打算学习下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")