首页 mfc控件使用方法

mfc控件使用方法

举报
开通vip

mfc控件使用方法mfc控件使用方法 本文中所用控件变量类型为Control 一般控件可用/不可用 EnableWindow(TRUE); EnableWindow(FALSE); 1、Static Text------------静态控件--类CStatic 取值/赋值(变量类型为Control) m_lbl.GetWindowText(string); m_lbl.SetWindowText(string); 2、Edit Box---------------编辑控件--类CEdit 取值/赋值 m_txt...

mfc控件使用方法
mfc控件使用方法 本文中所用控件变量类型为Control 一般控件可用/不可用 EnableWindow(TRUE); EnableWindow(FALSE); 1、Static Text------------静态控件--类CStatic 取值/赋值(变量类型为Control) m_lbl.GetWindowText(string); m_lbl.SetWindowText(string); 2、Edit Box---------------编辑控件--类CEdit 取值/赋值 m_txt.GetWindowText(string); m_txt.SetWindowText(string); 3、Check Box------------复选控件--类CButton (1)设置选中/未选中 m_chk.SetCheck(BST_CHECKED); m_chk.SetCheck(BST_UNCHECKED); (2)判断是否选中 int nCur = m_chk.GetCheck(); nCur取值为 BST_CHECKED/BST_UNCHECKED。 4、Radio Box------------单选控件--类CButton (1)默认选中第一项 m_radio.SetCheck(BST_CHECKED); (2)选中组中任一项 CWnd::CheckRadioButton Selects (adds a check mark to) a given radio button in a group and clears (removes a check mark from) all other radio buttons in the group. void CheckRadioButton( int nIDFirstButton, int nIDLastButton, int nIDCheckButton ); Parameters nIDFirstButton Specifies the integer identifier of the first radio button in the group. nIDLastButton Specifies the integer identifier of the last radio button in the group. nIDCheckButton Specifies the integer identifier of the radio button to be checked. (3)判断哪一项被选中 CWnd::GetCheckedRadioButton Retrieves the ID of the currently checked radio button in the specified group. int GetCheckedRadioButton( int nIDFirstButton, int nIDLastButton ); Parameters nIDFirstButton Specifies the integer identifier of the first radio button in the group. nIDLastButton Specifies the integer identifier of the last radio button in the group. Return Value ID of the checked radio button, or 0 if none is selected. (4)控件变量类型为Value时,可通过给int型变量赋值0、1、2…选中第1、2、3… 个选项。 int型变量默认值为-1,是在构造函数中赋的值。 当然也可通过判断int型变量的值,知道哪一个选项被选中。 5、Combo Box-----------组合框控件--类CComboBox (1)风格 Simple-象List Box一样显示数据 Dropdown-可以输入,也可以选择 Drop List-只能选择 (2)添加数据 a.属性对话框->Data->Enter listbox items,用Ctrl+Enter换行; b.m_combo.AddString(string); (3)显示数据 设计页面,点击Combo Box Control右边的下拉箭头,显示的矩形框就是显示数据的区 域。 (4)设置当前选项 m_combo.SetCurSel(项索引); (5)获取当前选项 int nIndex = m_combo.GetCurSel(); 6、List Box---------------列 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 框控件--类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; } }
本文档为【mfc控件使用方法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_614050
暂无简介~
格式:doc
大小:26KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-10-27
浏览量:26