在MFC中的OnInitDialog函数之后是否有任何函数调用?

时间:2011-02-23 08:09:31

标签: c++ windows winapi mfc dialog

我想在MFC中创建一个对话框后创建一个线程。是否有任何Windows提供的功能,并在OnInitDialog之后自动调用,以便我可以在其中创建我的线程?

3 个答案:

答案 0 :(得分:16)

您只需在OnInitDialog功能中创建线程即可。没有理由通过去寻找不同的函数或者将初始化代码分成两部分来使事情过于复杂。 (还有任何此类函数,因为没有相应的Windows消息被发送。)

如果您希望在之前的屏幕上显示对话框,则可以使用ShowWindow function手动显示该线程。例如:

ShowWindow(SW_SHOW);
RedrawWindow();

另见Raymond Chen的这篇文章:Waiting until the dialog box is displayed before doing something

答案 1 :(得分:0)

OnInitDialog()是初始化时调用的主要函数(对WM_CREATE的反应)。

为什么你不能在那里创建你的线程?

答案 2 :(得分:0)

我已将线程优先级更改为低于正常值,并且当线程第一次执行时,我将线程设置为普通priory。这很好用。谢谢你的回复。