如何将指定的View为设为活动窗口?

xmxjh 2004-11-25 09:08:21

我建了一个简单的MDI示例,并在View中添加了一个线程函数,程序运行后我先新建了4个子窗口,然后启动线程函数,我想在线程函数结束时将参数指定的View对应的窗口设为活动,如何操作?

线程函数如下
UINT WorkThread(LPVOID param)
{
CMdiformView * pMyView=(CMdiformView *)param;
CMainFrame * pMainFrm=(CMainFrame *)AfxGetApp()->m_pMainWnd;
long i;
char str[10];
for(i=0;i<30;i++)
{
Sleep(100);
sprintf(str,"%d",i);
pMyView->GetParent()->SetWindowText(str);
//this->GetParentFrame()->ActivateFrame(); //没有效果
//pMainFrm->SetActiveView(pMyView,TRUE); //会出错,无法执行
//pMyView->SetActiveWindow(); //没有效果
}
return 0;
}
...全文
83 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
社会栋梁 2004-11-26
  • 打赏
  • 举报
回复
SetActiveWindow(); 是非模式对话框来获得焦点的
fengqinggao 2004-11-26
  • 打赏
  • 举报
回复
你的框架类应该是从CMDIFrameWnd类中继承来的吧,用这个类的函数才有效果,试一试该类的这个函数:
void MDIActivate( CWnd* pWndActivate );
aoosang 2004-11-26
  • 打赏
  • 举报
回复
风清高的方法不错,试一下吧

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧