我用VS .NET 2003 的向导生成一个简单的基于对话框的应用程序。并且打对话框上的两个按钮删掉,只剩下一个空的对话框。其他什么都不修改,然后就编译执行,但如果在对话框上按回车或ESC键程序就结束执行。
1、请问怎样才能让程序在按这两个键时不结束执行呢?
2、怎样才能改变单个EDIT控件的字体大小呢?

解决方案 »

  1.   

    在MFC4.2的情况下,重写对话框类的PretranslateMessage函数,在里面截获回车及ESC。
    第二个问题,自己从CEdit类派生吧,然后设字体。
      

  2.   

    1
    BOOL CXXXDlg::PreTranslateMessage(MSG* pMsg) 
    {
    // TODO: Add your specialized code here and/or call the base class
    if(pMsg->message == WM_KEYDOWN && (pMsg->wParam==VK_RETURN || pMsg->wParam == VK_ESCAPE) )
    return TRUE;
    return CDialog::PreTranslateMessage(pMsg);
    }
    或者重载OnOK,OnCancel也行
      

  3.   

    2. 
    在你对话框中增加一个CFont的成员m_font;在OnInitDialog里面初始化: LOGFONT lf;
    memset(&lf,0,sizeof(lf));
    lstrcpy(lf.lfFaceName,"Ms Sans Serif");
    lf.lfWeight = FW_REGULAR;
    m_font.CreateFontIndirect(&lf); GetDlgItem(IDC_EDIT1)->SetFont(&m_font);
      

  4.   

    按的回车就是执行OnOK()这个函数,上面的仁兄都说了两种可行的方法第二个问题向楼上的学习ing