您好,欢迎来到六九路网。
搜索
您的当前位置:首页VC6.0常用控件使用方法

VC6.0常用控件使用方法

来源:六九路网


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 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

m_list;而不是

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, \"列一\);

m_list.InsertColumn(2, \"列二\);

m_list.InsertColumn(3, \"列三\);

m_list.InsertColumn(4, \"列四\);

m_list.InsertColumn(5, \"ID\);

(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;

}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务