载入中。。。 'S bLog
 
载入中。。。
 
载入中。。。
载入中。。。
载入中。。。
载入中。。。
载入中。。。
 
填写您的邮件地址,订阅我们的精彩内容:


 
VC++学习笔记10-开发基于对话框的应用程序
[ 2010/7/17 13:38:00 | By: 梦翔儿 ]
 

//在MFC中实现程序退出提示
//testmfcDlg.cpp
void CTestmfcDlg::OnCancel()
{
 // TODO: Add extra cleanup here
 if (IDOK==AfxMessageBox(_T("真的要退出程序

吗?"),MB_OKCANCEL|MB_ICONWARNING|MB_DEFBUTTON2))
 {
  CDialog::OnCancel();
 }
 
}
===========
//求和运算
void CTestmfcDlg::OnOK()
{
 // TODO: Add extra validation here
 //更新数据A
 UpdateData(TRUE);

 //获取数字B
 CString strB;

 //获得字符串长度
 int nLen=m_ctlNumB.GetWindowTextLength();
 //如果字符串长度为0,表明为空,提示输入值
 if(nLen<=0)
 {
  AfxMessageBox(_T("请输入值B!"));//_T是让你的程序支持

Unicode编码
  return;
 }
 
 //获得整数B
 m_ctlNumB.GetWindowText(strB);
 int iB;
 iB=atoi(strB);

 //计算结果
 int n=m_iNumA+iB;

 //显示计算信息和计算结果
 CString strMsg;
 strMsg.Format(_T("[%d]和[%d]的和为[%d]!"),m_iNumA,iB,n);
 AfxMessageBox(strMsg);
}
============
//不充许输入字母
BOOL cNumEdit::PreTranslateMessage(MSG* pMsg)
{
 // TODO: Add your specialized code here and/or call the base

class
 //截获键盘消息
 if(pMsg->message==WM_KEYDOWN)
 {
  int nKey=(int)pMsg->wParam;
  if((nKey>='0' && nKey<='9') || (nKey>='96' &&

nkey<='105')) //主键盘0-9,小键盘0-9
  {

  }
  else if(nKey==189) //‘减号’
  {
   int s,e;
   s=0,e=0;
   //获得当前空间上的光标的选中区域
   this->GetSel(s,e);

   CString strText;
   this->GetWindowText(strText);
   if(strText.Find(_T('_')!=-1))
    //当前已经包含减号了,最多一个减号
    return true;

   //当前还没有输入减号,那仅最前允许减号,否则拦


   if(s!=0)
   {
    //返回True表示消息已被处理,不需要被进

一步处理,消息被拦截
    retureturn true;
   }
  }
  else
  {
   return true;
  }
 }
 return CEdit::PreTranslateMessage(pMsg);
}
========
class CTestmfcDlg : public CDialog
{
// Construction
public:
 cNumEdit m_ctlNumB;

 
 
发表评论:
载入中。。。

 
 
 

梦翔儿网站 梦飞翔的地方 http://www.dreamflier.net
中华人民共和国信息产业部TCP/IP系统 备案序号:辽ICP备09000550号

Powered by Oblog.