焦点问题 问:我有一个非模态属性表,其中的一页包含7个控件,我的问题是,如果现在焦 点在一个 编辑控件上,当我最小化窗口后又最大化,那么该控件就会失去焦点, 怎样才能恢复原状? 答:在消息WM_SHOW中这样做: void CPropPage::OnShowWindow(BOOL bShow, UINT nStatus) { ... If( bShow ) { // restore current focused control if( m_pCurFocusWnd != NULL ) { m_pCurFocusWnd->SetFocus(); } } else { // save current focused wnd m_pCurFocusWnd = GetFocus(); } YourBaseClass::OnShowWindow(bShow, nStatus); ... } 注意:pCurFocusWnd是一个CWnd指针,必须在构造函数中初始化为NULL;你也必须声明 对话框中的所有变量,否则调用OnShowWindow时,指针通过GetFocus()所返回的值将是 非法的。希望你能满意!