一 . 准备工作
创建一个基于对话框的MFC项目
删除对话框上的工具
二 . 实现将seven图片贴到上面,按一下则换一张图片
1.在资源视图中添加位图资源,通过属性修改图片ID
2.将对话框拉长,防止图片变形
3.在工具栏里添加pictrue Control,修改此工具的ID,Type,Image,!!!notify改为true
4.在Dlg头文件中添加成员变量
CStatic picture; // 图片控件的对象
bool m_nChangeBmp; // 切换位图
HBITMAP m_hBmp7;
HBITMAP m_hBmp8;
5.绑定CCleanDlg::DoDataExchange()函数中调用
DDX_Control(pDX,IDC_PICTURE,picture);//(pDX,资源视图添加控件的ID,类中定义的变量)
6.初始化,CMyCleanDlg::OnInitDialog
m_hBmp7 = ::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP7));
m_hBmp8 = ::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP8));
m_nChangeBmp = false;//初始化为false
7.资源 添加消息处理函数
void CMyCleanDlg::OnStnClickedPictrue()
{
if(m_nChangeBmp == false)
picture.SetBitmap(m_hBmp8);
else
picture.SetBitmap(m_hBmp7);
m_nChangeBmp = !m_nChangeBmp;
}
三 . 添加下面的Tab Control 工具
1.在资源视图上添加Tab Control 工具并调整大小
2.在类视图中添加类,基类为CTabCtrl
3.在Dlg.h中定义对象:MyTabCtrl m_tab;
3.初始化
m_tab.InsertItem(0,L"清扫目录");//(新标签从0开始的索引)
m_tab.InsertItem(1,L"显示目录");
m_tab.InsertItem(2,L"设置目录");
m_tab.InsertItem(3,L"扫描删除");
CSize size(0,30);
m_tab.SetItemSize(size);//设置工具框大小
4.绑定
DDX_Control(pDX,IDC_TAB1,m_tab);