如何在每次调用后看到TextOutW(...)的输出?

时间:2010-01-31 21:30:59

标签: visual-c++

用以下内容写入显示屏:

::TextOutW( pDC->m_hDC, x, y, &Out, 1 );

它仅在每15次通话(15个字符)后显示在屏幕上。 仅出于调试目的,我希望在每次调用后在显示屏上看到新字符。我试过:: flushall()和其他一些东西,但没有变化。 TIA

2 个答案:

答案 0 :(得分:1)

由于性能原因,GDI函数调用被累积并分批调用。 您可以在TextOut调用后调用GdiFlush立即执行绘图。或者,在输出文本以完全禁用批处理之前调用GdiSetBatchLimit(1)。

答案 1 :(得分:1)

::flushall()适用于iostream,因此它根本不会影响Windows屏幕输出。我从来没有尝试过,但基于文档,我相信GDIFlush()可能就是你想要的。您还应该能够使用GDISetBatchLimit(1);强制每次调用在被调用时立即运行。