---恢复内容开始---
#SliberDemo 滑块控件
添加变量 m_slider 设置ID IDC_SLIDER
设置范围 m_slider.SetRange(0,100);
类向导给滑块控件增添 WM_HSCROLL 消息
BOOL CSliberDemoDlg::OnInitDialog() //下面插入代码 m_slider.SetRange(0, 100); //设置滑块的范围
1 //编写代码 2 3 4 void CSliberDemoDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 5 { 6 // TODO: 在此添加消息处理程序代码和/或调用默认值 7 int nNowPol = m_slider.GetPos(); 8 CString strOut; 9 strOut.Format(L"滑块空间的POS:%d", nNowPol); 10 SetDlgItemTextW(IDC_OUTPUT,strOut); 11 CDialogEx::OnHScroll(nSBCode, nPos, pScrollBar); 12 }
#HotKeyDemo 热键控件
拖拽控件
静态文本
热键控件 HotKey 设置ID IDC_HOTKEY 设置变量 m_hotKey
按钮 设置ID IDC_BTN_SET
设置 类向导设置消息响应 WM_HOTKEY 按钮响应消息
1 void CHotKeyDlg::OnBnClickedBtnSet() 2 { 3 WORD wVk, wMod; 4 m_hotKey.GetHotKey(wVk, wMod); 5 if (RegisterHotKey(m_hWnd, 1, wMod,wVk)) 6 { 7 //::ShowWindow(); ;;WIndows API 全局作用域 8 ShowWindow(SW_HIDE); 9 } 10 else 11 { 12 MessageBox(L"注册热键失败!"); 13 } 14 // TODO: 在此添加控件通知处理程序代码 15 } 16 17 18 void CHotKeyDlg::OnHotKey(UINT nHotKeyId, UINT nKey1, UINT nKey2) 19 { 20 // TODO: 在此添加消息处理程序代码和/或调用默认值 21 //类向导 WM_HOTKEY 22 if (nHotKeyId == 1) 23 { 24 ShowWindow(SW_SHOW); 25 UnregisterHotKey(m_hWnd, 1); 26 //反注册HotKey 27 } 28 CDialogEx::OnHotKey(nHotKeyId, nKey1, nKey2); 29 }
#列表栏List Control
设置控件 变量 m_list
// ListCtrlDemoDlg.h : 头文件 // 实现 protected: HICON m_hIcon; CImageList m_imagelist; //新变量用于列表框加载 图片
// CListCtrlDemoDlg 消息处理程序 //BOOL CListCtrlDemoDlg::OnInitDialog() m_list.InsertColumn(0, L"第一列", LVCFMT_LEFT, 100); m_list.InsertColumn(1, L"第二列", LVCFMT_LEFT, 100); m_list.InsertColumn(2, L"第三列", LVCFMT_LEFT, 100); m_list.InsertColumn(3, L"第四列", LVCFMT_LEFT, 100); //初始化列表框的列数 m_imagelist.Create(32,32, ILC_COLOR32, 1, 1); m_imagelist.Add(m_hIcon); m_list.SetImageList(&m_imagelist, LVSIL_SMALL); //m_list.SetImageList(&m_imagelist, LVSIL_NORMAL); //加载图片操作
//增添 void CListCtrlDemoDlg::OnBnClickedBtnAdd() { int nCount = m_list.GetItemCount(); //获取当前有多少行 int nTemp = 1; //多少列 CString strBuf; //第一行用InsertItem第一列 strBuf.Format(L"第%d行 %d列", nCount + 1, nTemp++); m_list.InsertItem(nCount, strBuf, 0); //第二行就要用 SetItemText 的方法 strBuf.Format(L"第%d行 %d列", nCount + 1, nTemp++); m_list.SetItemText(nCount, 1, strBuf); // TODO: 在此添加控件通知处理程序代码 } //删除 void CListCtrlDemoDlg::OnBnClickedBtnDel() { // TODO: 在此添加控件通知处理程序代码 int nCount = m_list.GetItemCount(); for (int i = nCount - 1; i >= 0; --i) { if (m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED) { m_list.DeleteItem(i); break; } } } void CListCtrlDemoDlg::OnSelchangeComboType() { // TODO: 在此添加控件通知处理程序代码 CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO_TYPE); DWORD dwStyle = 0; switch (pComboBox->GetCurSel()) { case 0: //大图标 dwStyle = LVS_ICON; break; case 1: //小图标 dwStyle = LVS_SMALLICON; break; case 2: //List dwStyle = LVS_LIST; break; case 3: //详细信息 dwStyle = LVS_REPORT; break; default: return; } m_list.ModifyStyle(LVS_TYPEMASK, dwStyle); }