- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章_Windows 标准控件在可视化编程中应用
第9章 Windows 标准控件在可视化编程中的应用; 控件是Windows 图形用户界面的主要组成部分之一,用户通过操作控件对象完成与应用程序之间的交互。控件的使用集中体现了Windows 系统面向对象的特点 ;9.1概述;9.2 按钮控件及其应用 ;9.2.1 按钮控件的创建过程 ;按钮控件消息:
ON_BN_CLICKED
ON_BN_DBLCLICKED
ON_COMMAND;GetCheck( )
SetCheck( )
GetBitmap()
SetBitmap()
GetButtonStyle()
SetButtonStyle()
GetCursor()
SetCursor()
GetIcon()
SetIcon()
GetState()
SetState();MFC还提供了一个CBitmapButton的类,允许用户以图标的方式显示按钮,它是在CButtong下派生的 ;9.2.2 按钮控件示例 ;IDC_BUTTON1
IDC_BUTTON2
IDC_RADIO1
IDC_RADIO2
IDC_CHECK1
IDC_CHECK2;3. 添加成员变量并添加消息响应函数;void CMy9_1Dlg::OnButton1()
{ m_btn1.SetWindowText(“你已按下了按钮!”); }
void CMy9_1Dlg::OnButton2()
{ m_btn2.SetWindowText(“按钮已被按下!”); }
void CMy9_1Dlg::OnCheck1()
{ if(m_chk1.GetCheck()0) m_chk1.SetCheck(0);
else m_chk1.SetCheck(1); }
void CMy9_1Dlg::OnRadio1()
{ m_rad1.SetCheck(1); } ;9.3 滚动条控件 ;9.3.1 滚动条类的结构及其方法 ;常用滚动条动作标识及其说明
SB_TOP / SB_BOTTOM :滚动到滚动条最顶 / 底端
SB_LINEUP / SB_LINEDOWN:向上 / 下滚动一行
SB_LEFT / SB_RIGHT:滚动到左 / 右边
SB_LINELEFT / SB_LINERIGHT:向左 / 右滚动一行
SB_PAGEUP / SB_PAGEDOWN :向上 / 下滚动一页
SB_PAGELEFT / SB_PAGERIGHT :向左 / 右滚动一页
SB_THUMBPOSITION:滚动框移动到新位置
SB_THUMBTRACK:滚动框被拖动
SB_ENDSCROLL:滚动到最终位置;9.3.2 创建与初始化滚动条类 ;在设置滚动条控件时,要通过如下方法设置其范围
CScrollBar::SetScrollRange()
例如,设置滚动范围为-100到100的垂直滚动条
pMyScroll-SetScrollRange(SB_VERT,-100,100);;9.3.3滚动条类编程实例 ;(1) 应用程序的可视化编程部分;(2) 应用程序的代码编程部分;BOOL CMy9_2Dlg::OnInitDialog()
{ CDialog::OnInitDialog();
……
// TODO: Add extra initialization here
m_Scrollbar.SetScrollRange(0,20);
m_Scrollbar.SetScrollPos(10);
char sPos[10];
itoa(m_Scrollbar.GetScrollPos(),sPos,10); m_Edit.SetSel(0,-1);
m_Edit.ReplaceSel(sPos);
UpdateData(FALSE);
return TRUE;
} ;(3) 给滚动条消息添加代码
void CMy9_2Dlg::OnVScroll(……)
{ // TODO: Add your message handler code here
char sPos[10];
int iNowPos;
switch(nSBCode)
{ if(pScrollBar==m_Scrollbar)
{ case SB_THUMBTRACK: //拖动滑块
m_Scrollbar.SetScrollPos(nPos);
itoa(nPos,sPos,10);
m_Edit.SetSel(0,-1);
m_Edit.ReplaceSel(sPos);;case SB_LINEDOWN: //单击滚动条向下的箭头
iNowPos=m_Scro
文档评论(0)