C++ MFC各控件代码练习例子

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

void CMy122Dlg::OnButton1open() {

m_OPEN.EnableWindow(false ); //EnableWindow()方法可以使按钮失效

MessageBox("已打开");

m_CLOSE.EnableWindow(true );

}

void CComboboxDlg::Onmony()

{

UpdateData(TRUE);

CString str,strmoy;

strmoy.Format("%d",m_money);

str="你确定要将";

str+=strmoy;

str+="元打入对方账户?";

if (IDOK==MessageBox(str,"提示",MB_ICONQUESTION|MB_OKCANCEL))

{

MessageBox("付款成功","提示",MB_ICONASTERISK);

}

}

控制显示的文本利用成员函数SetWindowText/GetWindowText 用于设置/得到当前显示的文本。

通过GetLimitText/SetLimitText 可以得到/设置在输入框中输入的字符数量。

输入框几种常用的消息映射宏:

ON_EN_CHANGE 输入框中文字更新后产生

ON_EN_ERRSPACE 输入框无法分配内存时产生

ON_EN_KILLFOCUS / ON_EN_SETFOCUS 在输入框失去/得到输入焦点时产生

在创建滚动条后需要调用void SetScrollRange( int nMinPos, int nMaxPos, BOOL bRedraw = TRUE )设置滚动范围, int GetScrollPos( )/int SetScrollPos( )用来得到和设置当前滚动条的位置。

void ShowScrollBar( BOOL bShow = TRUE );用来显示/隐藏滚动条。

BOOL EnableScrollBar( UINT nArrowFlags = ESB_ENABLE_BOTH )用来设置滚动条上箭头是否为允许状态。nArrowFlags 可取以下值:

ESB_ENABLE_BOTH 两个箭头都为允许状态

ES_DISABLE_LTUP 上/左箭头为禁止状态

MessageBox("这个是自定义的消息!!!" ,"自定义消息对话框!!!",MB_ICONINFORMATION); MB_ABORTRETRYIGNORE 显示终止重试或忽然按钮 MB_OK 显示确定按钮 MB_RETRYCANCEL 显示确定或取消按钮 MB_YESNO 显示重试或取消按钮 MB_YESNOCANCEL 显示是或否按钮 MB_ICONQUESTION 带问号图标 MB_ICONHAND 、MB_ICONSTOP 、MB_ICONERROR 三种都是带叉号图标 MB_ICONEXCLAMA TION 、MB_ICONW ARNING 两种都是带感叹号图标 MB_ICONASTERISK MB_ICONINFORMA TION 带信息号图标 AfxMessageBox()函数缺点就无法设置消息对话框的标,提示消息框的标题与工程名称相同, 优点:就是在动态链接库工程或其它工程中,可以直接用它来显示消息提示对话框。 MessageBox()函数必须用于一个窗口对象,没有窗口对象,就无法调用MessageBox()函数

ESB_DISABLE_BOTH 两个箭头都为禁止状态

SB_TOP/SB_BOTTOM 已滚动到顶/底部

SB_LINEUP/SB_LINEDOWN 向上/下滚动一行

SB_PAGEDOWN/SB_PAGEUP 向上/下滚动一页

SB_THUMBPOSITION/SB_THUMBTRACK 滚动条拖动到某一位置,参数nPos指明当前位置(参数nPos在其它的情况下是无效的)

SB_ENDSCROLL 滚动条拖动完成(用户松开鼠标)

注意:如果出现以上功能不好使的情况,可以关闭当前的工程,然后在工程目录下删除扩展名为“.ncb”的文件,然后重新打开工程,Visual C++会重建一个“.ncb”文件,此时完全取词功能将恢复正常。

void C_bj::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)

{

// TODO: Add your message handler code here and/or call default

void C_bj::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)

{

SCROLLINFO scrollinfo;

SetScrollRange (SB_VERT, 0, 850, TRUE);//这个就是设置你的滚动条的范围

GetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);

switch (nSBCode)

{

case SB_BOTTOM:

ScrollWindow(0,(scrollinfo.nPos-scrollinfo.nMax));

scrollinfo.nPos = scrollinfo.nMax;

SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);

break;

case SB_TOP:

ScrollWindow(0,(scrollinfo.nPos-scrollinfo.nMin));

scrollinfo.nPos = scrollinfo.nMin;

SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);

break;

case SB_LINEUP:

scrollinfo.nPos -= 20;

if (scrollinfo.nPos

{

scrollinfo.nPos = scrollinfo.nMin;

break;

}

SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);

ScrollWindow(0,20);

break;

case SB_LINEDOWN:

scrollinfo.nPos += 20;

if (scrollinfo.nPos>scrollinfo.nMax)

{

scrollinfo.nPos = scrollinfo.nMax;

break;

}

相关文档
最新文档