003 滑块控件 SliberDemo 热键控件HotKeyDemo 列表框控件List Control

---恢复内容开始---

#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);
}
原文地址:https://www.cnblogs.com/sdk123/p/6832231.html