版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于对话框的控件使用总结,-魏泽民,包含的类,1.CSliderCtrl 2.CBCGPAnimCtrl 3.CBCGPURLLinkButton 4.CBCGPListCtrl 5.CBCGPPropList 6.CImageList 7.CBCGPProp,完成的功能,1.滑块控件,也称为跟踪。 2.控制位图的“播放”。 3.利用按钮完成“超链接”功能。 4.列表的控制。 5.多属性的综合控制。(proplist,prop) 6.下拉菜单正的图片项。,功能实现与展示,1.滑块控件,也称为跟踪 首先在对话框(或属性页)中添加一个控件,如下图所示,并添加变量(注意变量类的选择)则会自动生成如下
2、代码: (a)CSliderCtrlm_wndFrameRate; (.h) intm_iFrameRate;(.h) (b)DDX_Control(pDX, IDC_FRAME_RATE, m_wndFrameRate); DDX_Slider(pDX, IDC_FRAME_RATE, m_iFrameRate);(.cpp的DODATAExchange函数中)。,功能实现与展示,然后在OnInitDialog()中添加如下代码即可。 m_wndFrameRate.SetRange (50, 1000); m_iFrameRate = 200; 图,功能实现与展示,功能实现与展示,2.对位图
3、的“播放”控制 与上个控件类似,首先添加的控件为Picture Control,添加变量与上个例子类似,一下不在赘述。生成的代码如下: (a)CBCGPAnimCtrlm_wndAnimation;(.h) (b)DDX_Control(pDX, IDC_ANIMATION, m_wndAnimation);(.cpp) 然后在OnInitDialog()中用如下代码来添加位图到控件中:m_wndAnimation.SetBitmap (IDB_GLOBE, 32, RGB (255, 0, 255), TRUE);,功能实现与展示,在开始的按钮的响应函数中添加m_wndAnimation.P
4、lay (m_iFrameRate);来完成开始的功能,在结束按钮的响应函数中添加m_wndAnimation.Stop ();来完成结束功能。 图,功能实现与展示,3.利用按钮来实现超链接 添加一个button控件,添加变量,生成代码: (a)CBCGPURLLinkButtonm_btnLink; (b)DDX_Control(pDX, IDC_BUTTON_URL, m_btnLink); 然后再OnInitDialog()中添加如下代码: m_btnLink.SetURL (_T(); m_btnLink.SetTooltip (_T(Visit BCGSoft site); m_bt
5、nLink.SizeToContent ();/可以把数据源改为自己想用的网址,以及描述。,功能实现与展示,图,功能实现与展示,4.关于列表的使用 一样的加控,加变量,生成代码.(省略) 这里重点将添加的代码。 添加列 m_wndList.InsertColumn (0, _T(#), LVCFMT_LEFT/*左对齐*/, 20/*列宽*/); int nColumn; for (nColumn = 1; nColumn nColumns - 1; nColumn+) m_wndList.InsertColumn (nColumn, CString (TCHAR)(_T(A) + nColu
6、mn - 1), LVCFMT_LEFT, 70); ,功能实现与展示,添加内容 for (int i = 0; i nRows; i+) CString str; str.Format (_T(%d), i); m_wndList.InsertItem (i, str); m_wndList.SetItemData (i, i);/类似于标签的作用 for (nColumn = 1; nColumn nColumns - 1; nColumn+) str.Format (_T(Item (%d, %d), nColumn - 1, i); m_wndList.SetItemText (i,
7、nColumn, str);/*内容*/ ,功能实现与展示,对列表的设置 m_wndList.SendMessage (LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);/该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。而函数PostMessage不同,将一个消息寄送到一个线程的消息队列后立即返回。/*send为同步,post为异步*/ m_wndList.EnableMarkSortedColumn ();/貌似是允许按某一列的数字字母顺序排
8、列。,功能实现与展示,proplist的使用 首先依然要添加控件(picture),然后添加控制变量(此例添加的变量为m_wndPropListLocation),生成代码。手动在头文件中添加变量CBCGPPropListm_wndPropList;在OnInitDialog()添加代码 CRect rectPropList;/矩形 m_wndPropListLocation.GetClientRect (,功能实现与展示,(a)CBCGPProp* pGroup1 = new CBCGPProp (_T(Appearance); pGroup1-AddSubItem (new CBCGPPr
9、op (_T(3D Look), (_variant_t) false, _T(Specifies the dialogs font will be nonbold and controls will have a 3D border); (b)CBCGPProp* pProp = new CBCGPProp (_T(Border), _T(Dialog Frame), _T(One of: None, Thin, Resizable, or Dialog Frame); pProp-AddOption (_T(None); pProp-AddOption (_T(Thin); pProp-A
10、ddOption (_T(Resizable); pProp-AddOption (_T(Dialog Frame); pProp-AllowEdit (FALSE); pGroup1-AddSubItem (pProp);,功能实现与展示,(c)pGroup1-AddSubItem (new CBCGPProp (_T(Caption), (_variant_t) _T(About BCGProTest), _T(Specifies the text that will be displayed in the dialogs title bar); m_wndPropList.AddProp
11、erty (pGroup1); (d)CBCGPProp* pSize = new CBCGPProp (_T(Window Size), 0, TRUE); pProp = new CBCGPProp (_T(Height), (_variant_t) 250l, _T(Specifies the dialogs height); pProp-EnableSpinControl (TRUE, 0, 1000); pSize-AddSubItem (pProp); pProp = new CBCGPProp (_T(Width), (_variant_t) 150l, _T(Specifies
12、 the dialogs width); pProp-EnableSpinControl (); pSize-AddSubItem (pProp); m_wndPropList.AddProperty (pSize);,功能实现与展示,(e)pGroupFont = new CBCGPProp (_T(Font); LOGFONT lf;/在Windows内部,字体是以一个名为LOGFONT的结构来表示 CFont* font = CFont:FromHandle (HFONT) GetStockObject (DEFAULT_GUI_FONT); font-GetLogFont (,功能实现
13、与展示,(f)CBCGPProp* pGroup3 = new CBCGPProp (_T(Misc); pProp = new CBCGPProp (_T(Name), _T(IDD_ABOUT_BOX (dialog); pProp-Enable (FALSE); pGroup3-AddSubItem (pProp); CBCGPColorProp* pColorProp = new CBCGPColorProp (_T(Window Color), RGB (210, 192, 254), NULL, _T(Specifies the default dialog color); pCo
14、lorProp-EnableOtherButton (_T(Other.); pColorProp-EnableAutomaticButton (_T(Default), :GetSysColor (COLOR_3DFACE); pGroup3-AddSubItem (pColorProp); static TCHAR BASED_CODE szFilter = _T(Icon Files (*.ico)|*.ico|All Files (*.*)|*.*|); pGroup3-AddSubItem (new CBCGPFileProp (_T(Icon), TRUE, _T(), _T(ic
15、o), 0, szFilter, _T(Specifies the dialog icon); pGroup3-AddSubItem (new CBCGPFileProp (_T(Folder), _T(c:); COleDateTime date = COleDateTime:GetCurrentTime (); pGroup3-AddSubItem (new CBCGPDateTimeProp (_T(Date), date, _T(Set a date), 0, CBCGPDateTimeCtrl:DTM_DATE); pGroup3-AddSubItem (new CBCGPDateT
16、imeProp (_T(Time), date, _T(Set a time), 0, CBCGPDateTimeCtrl:DTM_TIME); pGroup3-AddSubItem (new CBCGPProp (_T(Phone), _T(123) 123-12-12), _T(Enter a phone number), 0, _T( ddd ddd dd dd), _T(_) _-_-_); m_wndPropList.AddProperty (pGroup3);,功能实现与展示,(g)CBCGPProp* pGroup4 = new CBCGPProp (_T(Hierarchy);
17、 CBCGPProp* pGroup41 = new CBCGPProp (_T(First sub-level); pGroup4-AddSubItem (pGroup41); CBCGPProp* pGroup411 = new CBCGPProp (_T(Second sub-level); pGroup41-AddSubItem (pGroup411); pGroup411-AddSubItem (new CBCGPProp (_T(Item 1), (_variant_t) _T(Value 1), _T(This is a description); pGroup411-AddSu
18、bItem (new CBCGPProp (_T(Item 2), (_variant_t) _T(Value 2), _T(This is a description); pGroup411-AddSubItem (new CBCGPProp (_T(Item 3), (_variant_t) _T(Value 3), _T(This is a description); pGroup4-Expand (FALSE); m_wndPropList.AddProperty (pGroup4);,功能实现与展示,(h)CBCGPProp* pGroup5 = new CBCGPProp (_T(
19、Custom Properties); pGroup5-AddSubItem (new CDurationProp (_T(Duration), COleDateTimeSpan (1, 2, 3, 0), _T(Set a duration); pGroup5-AddSubItem (new CCheckBoxProp (_T(Check Box), TRUE, _T(Check Box Property); pGroup5-AddSubItem (new CPasswordProp (_T(Password), _T(123456), _T(Password Property); pGroup5-AddSubItem (new CSliderProp (_T(Slider), 0, _T(Slider Property);,功能实现与展示,CBitmap bmp; bmp.LoadBitmap (IDB_PROPICONS); m_imageList.Create (16, 16, ILC_MASK | ILC_COLOR24, 0, 0); m_imageList.Add (,功能实现与展示,CComboBoxExProp* pComboEx = new CComboB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- eVTOL 电动垂直起降飞行器试飞工程师考试试卷及答案
- 标准化病人(SP)在OSCE考核中的效度保障
- 陕西西安地区2026届高三下学期5月阶段验收-化学试题试卷含解析
- 2026届重庆市西北狼联盟高三下学期第二次质检化学试题含解析
- 生物材料支架在皮肤再生中的患者生活质量改善分析
- 医学26年:远端胆管癌诊疗要点 查房课件
- 2025~2026学年湖南省长沙市望城区七年级上学期期末考试英语试卷
- 2025~2026学年江西上饶市铅山县第一学期期末考试七年级英语试卷
- 弘扬端午文化厚植家国情怀-端午节主题班会课件
- 202宁夏石嘴山市平罗县城镇公益性岗位人员安置备考题库及答案详解(必刷)
- 黑龙江省哈尔滨市南岗区2026年中考一模语文试题(含答案)
- 2025年青岛市(中小学、幼儿园)教师招聘笔试试题及答案解析
- 2026年中考历史一模试卷 历史试题(湖南卷)
- 2026年河南郑州市高三二模高考语文试卷试题(含答案详解)
- 2026年中国烟草招聘笔试行政职业能力测验专项
- 2025-2026学年八年级(下)期中物理试卷(北师大版)
- 毕业设计(论文)-谷物烘干机设计
- 5.3方程(课件)-2025-2026学年四年级下册数学北师大版
- 酒店节能减排技术应用调研报告
- AQ 3067-2026 《化工和危险化学品生产经营企业重大生产安全事故隐患判定准则》解读
- 平方根(第1课时)课件2025-2026学年人教版七年级数学下册
评论
0/150
提交评论