首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

子窗口获得焦点的有关问题,搞不清楚了

2012-01-20 
子窗口获得焦点的问题,搞不清楚了CMyDialogsenmnewCMyDialogsenm- Create(IDD_MSGSEND_DIALOG,GetDeskt

子窗口获得焦点的问题,搞不清楚了
CMyDialog   senm   =   new   CMyDialog;
senm-> Create(IDD_MSGSEND_DIALOG,GetDesktopWindow());
senm-> ShowWindow(SW_SHOW);

                  senm-> SetFocus();//为什么无效的??子窗口还是不显示出来




[解决办法]
BOOL MakeWindowGetFocus(HWND hDestWnd)
{
DWORDdwCurTId;
DWORDdwDestTId;

dwCurTId = ::GetCurrentThreadId();
dwDestTId = GetWindowThreadProcessId(hDestWnd, NULL);
::AttachThreadInput(dwCurTId, dwDestTId, TRUE);
::SetForegroundWindow(hDestWnd);
::SetFocus(hDestWnd);
::AttachThreadInput(dwCurTId, dwDestTId, FALSE);

return TRUE;
}
[解决办法]
CMyDialog senm = new CMyDialog;
-------
CMyDialog* senm = new CMyDialog;

senm-> SetFocus();//为什么无效的?
-------
没有必要
[解决办法]
如果是在::OnInitDialog()中的话,有下面一句,
return TRUE; // return TRUE unless you set the focus to a control
这里要改成 return FLASE;

热点排行