- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
对话框和控件部分.
对话框和控件部分:
1.模式和非模式对话框的区别:
“模式对话框”是指当对话框被弹出,用户必须在对话框中作出相应的操作,在退出对话框之前,对话框所在的应用程序不能继续执行。“无模式对话框”是指当对话框被弹出后,一直保留在屏幕上,用户可继续在对话框所在的应用程序中进行其它操作。
模式对话框的调用采用DoModal()方法创建,非模式创建采用Creat()方法。
模式对话框是采用EndDialog()关闭,非模式对话框采用DestroyWindow()方法关闭。
2.滚动条
CScrollbar m_Scrollbar;
在设置滚动条控件时,要通过如下方法设置其范围
CScrollBar::SetScrollRange()
例如,设置滚动范围为-100到100的垂直滚动条
m_Scrollbar.SetScrollRange(-100,100);
通过SetScrollPos()设置滚动块当前位置
例如,滚动快的位置在-100到100的中间,即为0的位置
m_Scrollbar.SetScrollPos(0);
通过GetScrollPos()得到当前滑块位置的值是数值型
int i= m_Scrollbar.GetScrollPos()
滚动条5个消息:
SB_THUMBTRACK: //拖动滑块
SB_LINEDOWN: //单击滚动条向下的箭头
SB_LINEUP: //单击滚动条向上的箭头
SB_PAGEDOWN: //单击箭头与滚块之间的区域
SB_PAGEUP: //单击箭头与滚块之间的区域
3.滚动条实例
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;
}
void CMy9_2Dlg::OnVScroll(厖)
{ // TODO: Add your message handler code here
char sPos[10];
int iNowPos;
if(pScrollBar==m_Scrollbar){
switch(nSBCode)
{ case SB_THUMBTRACK: //o拖动滑块
m_Scrollbar.SetScrollPos(nPos);
itoa(nPos,sPos,10);
m_Edit.SetSel(0,-1);
m_Edit.ReplaceSel(sPos);
break;
case SB_LINEDOWN: //单击滚动条向下的箭头
iNowPos=m_Scrollbar.GetScrollPos();
iNowPos=iNowPos+1;
if(iNowPos20)
iNowPos=20;
m_Scrollbar.SetScrollPos(iNowPos);
itoa(m_Scrollbar.GetScrollPos(),sPos,10);
m_Edit.SetSel(0,-1);
m_Edit.ReplaceSel(sPos);
break;
case SB_LINEUP: //单击滚动条向上的箭头
iNowPos=m_Scrollbar.GetScrollPos();
iNowPos=iNowPos-1;
if(iNowPos0)
iNowPos=0;
m_Scrollbar.SetScrollPos(iNowPos);
itoa(m_Scrollbar.GetScrollPos(),sPos,10);
m_Edit.SetSel(0,-1);
文档评论(0)