重要控件的使用

来源:互联网 发布:淘宝网如何提高排名 编辑:程序博客网 时间:2024/05/22 00:44
1.对所用到的控件进行初始化,如果代码少可以直接在OnInitDialog函数中编写,否则另外定义函数InitUserCtrl。
CComboBox的初始值:
CComboBox m_cbbList;
m_cbbList.AddString(_T("大图标"));
m_cbbList.AddString(_T("小图标"));等。
CSliderCtrl:设置微调范围:
是一个“滑动块控件”,是一个包含一个滑动块和可选的刻度线的窗口,当用户用鼠标或方向键移动滑动块时,该控件发送通知消息来表明这些改变。
CSliderCtrl m_sldTest;
m_sldTest.SetRange(1, 50);
CProgressCtrl:设置范围,初始位置,步长
m_pgsTest.SetRange(0, 256);
m_pgsTest.SetPos(0);
m_pgsTest.SetStep(10);

2.对树形控件 CTreeCtr进行消息响应,包括对树的初始化等。
树形控件可以用于树形的结构,其中有一个根节点(root),下面有很多子节点,每个子节点上允许有一个或多个或没有子节点。在树形控件中每一个结点都有一个句柄(HTREEITEM ),同时添加结点时必须提供的参数是该结点的父节点句柄,根root只有一个,既不可以添加也不可以删除,
HTREEITEM root = m_tcTest.InsertItem(_T("计算机"), 1, 0);
HTREEITEM subroot1 = m_tcTest.InsertItem(_T("台式机"), 1, 0, root);
HTREEITEM subroot2 = m_tcTest.InsertItem(_T("笔记本"), 1, 0, root);
HTREEITEM subroot3 = m_tcTest.InsertItem(_T("服务器"), 1, 0, root);
HTREEITEM subroot4 = m_tcTest.InsertItem(_T("上网本"), 1, 0, root);
m_tcTest.InsertItem(_T("联想"), 1, 0, subroot1);
m_tcTest.InsertItem(_T("DELL"), 1, 0, subroot1);
m_tcTest.InsertItem(_T("HP"), 1, 0, subroot2);
m_tcTest.InsertItem(_T("苹果"), 1, 0, subroot2);

m_tcTest.SelectItem(root); //选择给定的TREE项
m_tcTest.Expand(root, TVE_EXPAND);//展开或收缩指定tree view项的子项
3.列表控件CListCtrl设置

m_lstTest.InsertColumn(0, _T("编号"), LVCFMT_LEFT, 80);//插入列表视图控件中的新列
m_lstTest.InsertColumn(1, _T("姓名"), LVCFMT_LEFT, 80);
m_lstTest.InsertColumn(2, _T("性别"), LVCFMT_LEFT, 80);
m_lstTest.InsertColumn(3, _T("年龄"), LVCFMT_LEFT, 80);

m_lstTest.InsertItem(0, _T("9527")); //在列表视图控件中插入一个新项
m_lstTest.SetItemText(0, 1, _T("李圣杰"));//设置列表视图项或子项的文本
m_lstTest.SetItemText(0, 2, _T("女"));
m_lstTest.SetItemText(0, 3, _T("23"));

m_lstTest.InsertItem(1, _T("9528"));
m_lstTest.SetItemText(1, 1, _T("吕南公"));
m_lstTest.SetItemText(1, 2, _T("男"));
m_lstTest.SetItemText(1, 3, _T("13"));

m_cbbList.SetCurSel(0); //选择组合框的第一种显示方式
OnSelendokComboList() ;//根据组合框的选择显示相应的样式

4.组合框的选择响应
先获得ListCtrl当前样式,根据组合框选项,设置所选样式显示内容
DWORD dwStyle = m_lstTest.GetStyle();

dwStyle &= ~LVS_ICON;
dwStyle &= ~LVS_SMALLICON;
dwStyle &= ~LVS_LIST;
dwStyle &= ~LVS_REPORT;

int index = m_cbbList.GetCurSel();

switch(index)
{
case 0:
dwStyle |= LVS_ICON;
break;
case 1:
dwStyle |= LVS_SMALLICON;
break;
case 2:
dwStyle |= LVS_LIST;
break;
case 3:
dwStyle |= LVS_REPORT;
break;
}
::SetWindowLong(m_lstTest.m_hWnd, GWL_STYLE, dwStyle);

5.进度条的响应按钮,开始和结束
start:点击start时,进度条要根据所设置的步长以及范围行进。用定时器来做

在此函数中启动定时器 int m_uTimer = SetTimer(1, 30, NULL);

在OnTimer函数中,让进度条根据步长移动 m_pgTest.StepIt();

stop:结束定时器 KillTimer(m_uTimer);

6.CSlider滑动块
功能:在滑动块上移动时,会有一个位置值,将次位置值映射到旁边的CEdit中。
CSlider本身没有响应移动的函数,可以对话框窗口的WM_HSCROLL消息,在此消息中操作
定义一个CString类型的值变量m_sliderTest和要映射的CEdit关联
int n = m_slider.GetPos();
m_sliderTest.Format("%d",n);
UpdateData(false);

7.CSpin旋转按钮操作
旋转按钮首先要设置和左边的CEdit作为伙伴按钮,其次响应消息
ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN, OnDeltaposSpin)在此消息中,让按钮对CEdit中的数字进行操作,定义一个int变量m_iSpin ,在构造函数中初始化m_iSpin = 0;m_edSpin是CEdit


CString str;

if(pNMUpDown->iDelta == -1)
{
m_iSpin++;
}
else
{
m_iSpin--;
}

str.Format(_T("%d"), m_iSpin);
m_edSpin.SetWindowText(str);


8.CDateTimeCtrl控件
CDateTimeCtrl m_dateTimer;
CTime tm;

m_dateTimer.GetTime(tm);

CString strTime;
strTime = tm.Format(_T("%H:%M:%S %Y/%m/%d"));

m_edInfo.SetWindowText(strTime);























原创粉丝点击