Clean小程序(控件消息)
一 . 準備工作
創建一個基於對話框的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);
Clean小程序(控件消息)