MFC在单独的线程中形成

时间:2014-04-09 15:39:28

标签: c++ visual-studio-2010 visual-c++ mfc

我有一个控制台MFC表单应用程序,它由一个表单组成。在MFC应用程序中,启动任务的构造函数线程:

CfbSrvApp::CfbSrvApp()
{
AfxBeginThread(MTServerThread,0);
}

MTServerThread过程有时需要显示简单的文本输入或是/否形式。

如何在单独的MTServerThread

中创建MFC表单

主窗体有时可以最小化到托盘,但输入窗体应该显示在桌面上。

2 个答案:

答案 0 :(得分:0)

  1. 从CWinThread派生一个班级。
  2. 覆盖InitInstance
  3. 使用DoModal
  4. 创建对话框
  5. 使用AfxBeginThread和RUNTIME_CLASS(CYourNewCWiNThreadClass)创建新线程

答案 1 :(得分:0)

  

主表单有时可以最小化到托盘,但输入表单应该   无论如何都会出现在桌面上。

对于您想要实现的目标,最好在主线程本身中创建无模式对话框。让后台服务器线程通过向主线程发送消息来更新无模式对话框的UI。这样,您可以最小化托盘中的主窗体,但仍显示无模式对话框。