VC6.0常用控件使用方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VC6.0常用控件使用方法 2
6、List Box---------------列表框控件--类CListBox
(1)插入项
m_list.AddString(string);
(2)设置当前选择项
m_list.SetCurSel(项索引);
(3)获取当前选择项
int nIndex = m_list.GetCurSel();
m_list.GetText(nIndex, string);
(4)删除一项
m_list.DeleteString(项索引);
(5)删除所有项
m_list.ResetContent();
(6)获取总项数
m_list.GetCount()
(7)List Box的选项前面加复选框(Check Box)
a.风格
声明时用类CCheckListBox代替CListBox,即CCheckListBox m_list;而不是CListBox m_list;
属性对话框->Styles->Owner draw设为Fixed
属性对话框->Styles->勾选Has strings
b.设置选择
void SetCheck( int nIndex, int nCheck );
Parameters
nIndex
Index of the item whose check box is to be set.
nCheck
State of the check box: 0 for clear, 1 for checked, and 2 for indeterminate.
c.获取选择
int GetCheck( int nIndex );
Parameters
nIndex
Index of the item whose check status is to be retrieved.
Return Value
Zero if the item is not checked, 1 if it is checked, and 2 if it is indeterminate.
7、List Control----------列表框扩展控件--类CListCtrl
(1)样式:属性对话框框->Styles->Format有4,分别是Icon/Small Icon/List/Report;
(2)Report格式设置扩展风格
DWORD dwStyle = m_list.GetExtendedStyle();
dwStyle |= LVS_EX_FULLROWSELECT; // 选中某行使整行高亮(只适用与report风格的listctrl)
dwStyle |= LVS_EX_GRIDLINES; // 网格线(只适用与report风格的
listctrl)
m_list.SetExtendedStyle(dwStyle);
(3)Report格式插入列
m_list.InsertColumn(1, "列一", LVCFMT_RIGHT, 150);
m_list.InsertColumn(2, "列二", LVCFMT_LEFT, 100);
m_list.InsertColumn(3, "列三", LVCFMT_LEFT, 100);
m_list.InsertColumn(4, "列四", LVCFMT_LEFT, 200);
m_list.InsertColumn(5, "ID", LVCFMT_CENTER, 0);
(4)Report格式插入一行数据
int nIndex = m_list.GetItemCount();
m_list.InsertItem(nIndex, s1);
m_list.SetItemText(nIndex, 1, s2);
m_list.SetItemText(nIndex, 2, s3);
m_list.SetItemText(nIndex, 3, s4);
m_list.SetItemText(nIndex, 4, s5);
(5)Report格式删除所有行
m_list.DeleteAllItems();
(6)Report格式获取某行某列数据
CString sID = m_list.GetItemText(行索引,列索引);
(7)Report格式删除选择行,多选时可用循环。

POSITION pos = m_list.GetFirstSelectedItemPosition();
if (pos != NULL)
{
int nIndex = m_list.GetNextSelectedItem(pos);
m_list.DeleteItem(nIndex);
}
8、Date Time Picker----日期时间控件--类CDateTimeCtrl
(1)样式:属性对话框框->Styles->Format有3,分别是Short Date/Long Date/Time,分别显示短日期(2009-03-12)/长日期(2009年3月12日)/时间(20:08:06),日期格式默认有一向下箭头,时间格式默认有一Spin Control;
(2)可编程设置其显示格式,例如年4位,月、日、时、分、秒2位,
CString formatStr= _T("yyyy-MM-dd");
m_txtDate.SetFormat(formatStr);
formatStr= _T("HH:mm:ss");
m_txtTime.SetFormat(formatStr);
(3)取值赋给CString
m_txtDate.GetWindowText(sAddDate);
m_txtTime.GetWindowText(sAddTime);
9、Spin------------------旋转按钮控件--类CSpinButtonCtrl
(1)与Edit控件关联
首先,排列控件的Tab键顺序,要让Spin Control的Tab Order紧跟着Edit Control (就是说,Spin Control的Tab Order是Edit Control的Tab Order加1);设置tab order 的方法是 Ctrl+d,然后用鼠标挨个点击,就是按TAB键时焦点在窗体上的移动顺序;
然后,Spin Control属性对话框中勾选Auto buddy和Set buddy integer。

(2)设置上下限
m_spin.SetRange(1, 60);
(3)设置当前值,可以不用给Edit控件赋值
m_spin.SetPos(3);
(4)获取当前值
int nCur = m_spin.GetPos();
10、Slider-----------------滑动条控件--类CSliderCtrl
(1)设置上下限、最小滑动值
m_slider.SetRange(5,100);
m_slider.SetTicFreq(1);
(2)设置/获取当前值
m_slider.SetPos(nCur);
int nCur = m_slider.GetPos();
(3)背景色:重写OnCtlColor(),虽然不知道Slider属于nCtlColor的哪一类,但试验表明似乎是属于CTLCOLOR_STATIC。

HBRUSH CDlgOptionVideo::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) {
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
// 设置透明背景模式
pDC->SetBkMode(TRANSPARENT);
// TODO: Return a different brush if the default is not desired
switch(nCtlColor)
{
// 设置背景刷子为空
case CTLCOLOR_STATIC: // 静态控件
if(pWnd->GetDlgCtrlID() == IDC_SLIDER_TIME)
return ::CreateSolidBrush(RGB(203, 228, 253));
case CTLCOLOR_DLG: // 对话框
return (HBRUSH)::GetStockObject(HOLLOW_BRUSH);
default:
return hbr;
}。

相关文档
最新文档