Windows.标准控件在可视化编程中的应用.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
“备”则“倍” 有准备、有规划的人生更精彩! * 9.8 对话框通用控件 大部分控件都是在对话框中使用的,无论是基于对话框的应用程序还是Doc/View结构的应用程序,控件通常是放在对话框中的。本节将以一个名为“Ex9_9”的基于对话框的应用程序来介绍各种Windows通用控件的使用。 * 9.8.1 Picture控件的使用 (1)分隔线 将Picture控件拖放到对话框上,【Type】属性选择“Frame”,【Color】属性选择“Etched”,将控件拖到最细,这时,Picture控件看起来的效果就跟一条分隔线一样了 * (2) 图片 将【Type】属性设置为“Icon”或者“Bitmap”的时候,可以设置【Image】属性为相应的资源ID,来显示图标或位图。我们在资源中导入一位图, 命名为IDB_BITMAP_DOT,设置Picture控件【Type】为“Bitmap”,【Image】为“IDB_BITMAP_DOT” * Spin控件的使用 Spin按钮控件提供了一对箭头,用户通过点击箭头可以微调该控件所表示的数值。 表示Spin控件的是CSpinButtonCtrl类 Spin控件通常和tab order位于它之前的控件成对使用。通过CSpinButtonCtrl的GetBuddy方法可获得与之配对的控件 * SpinButtonCtrl类常用成员 成员 描述 CSpinButtonCtrl 构造CSpinButtonCtrl对象。 Create 创建一个微调按钮对象。 SetBase 设置显示的基,也就是以十进制还是十六进制还是其它进制显示数据。 SetBuddy 设置该控件的伙伴窗口。 SetPos 设置当前位置。 SetRange 设置取值范围。 * 向对话框拖放一个Edit控件,置为只读,然后拖放一个Spin控件紧挨着刚才拖放的Edit控件,两个控件的ID都是用默认值,设置Spin控件的【Allignment】属性为“Right”,选中【Auto buddy】属性 BOOL CEx9_9Dlg::OnInitDialog() { …… // TODO: Add extra initialization here CSpinButtonCtrl* pSpin =(CSpinButtonCtrl*) GetDlgItem(IDC_SPIN1); pSpin-SetRange(0, 100); pSpin-SetPos(50); pSpin-GetBuddy()-SetWindowText(L5.0); return TRUE; } 设置Spin的范围是0~100,当前位置是50,同时设置它的配对控件的显示值 * 在对话框中添加WM_VSCROLL消息的响应: void CEx9_9Dlg::OnVScroll(……) { if (pScrollBar-GetDlgCtrlID() == IDC_SPIN1) {CString strValue; strValue.Format(L%3.1f, (double) nPos / 10.0); ((CSpinButtonCtrl*)pScrollBar)-GetBuddy()-SetWindowText(strValue); } CDialog::OnVScroll(nSBCode, nPos, pScrollBar); } * 9.8.3 Progress控件的使用 进度控件是一个用来指示长时间操作的进展程度的控件。MFC中表示进度控制的是CProgressCtrl类 进度条有一个范围和当前位置。范围表示整个操作的持续时间,当前位置表示当前进行到的位置,进度条根据当前位置来判断进行的百分比,来显示进度 * 添加一个Progress控件,保持默认ID,设置Smooth属性。在旁边添加一个按钮,设置ID为“IDC_BUTTON_START”,Caption为“开始” 在OnInitDialog中添加如下代码: CProgressCtrl* pProg =(CProgressCtrl*) GetDlgItem(IDC_PROGRESS1); pProg-SetRange(0, 100); pProg-SetPos(50); 为“开始”按钮添加点击事件实现代码: void CEx9_9Dlg::OnButtonStar() {CProgressCtrl* pProg=(CProgressCtrl*)GetDlgItem(IDC_PROGRESS1); pProg-SetPos(0); SetTimer(1000,100,NULL); } * 在CCtrlDlg中添加

文档评论(0)

liyxi26 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档