问题描述: 

在中望老版本命令行窗口是可以循环打印acutPrintf(_T("\rProcessing... %3d%%"), i);输出信息,类似与Window系统的cmd界面打印信息,由于动态刷新窗体效率较低

如遇到大批量的内容需要打印时,时间太久影响功能使用,中望新版本为了提高命令行显示效率做了优化,只在命令行输入框中做打印刷新。

目前有一些用户需求想在命令行历史窗口动态打印数据,如为了展示一步步算量计算过程等需求。

步骤指引:

目前研究了一种方法大致可以做到这个效果:

void helloworld()
{
	for (int i = 0; i <= 1000; i++)
	{
		acutPrintf(_T("\rProcessing... %3d%%"), i);

		acedUpdateDisplay();
		MSG msg;
		while (::PeekMessage(&msg, nullptr, 0, 0, PM_REMOVE))
		{
			::TranslateMessage(&msg);
			::DispatchMessage(&msg);
		}
		Sleep(30);
	
	}

	acutPrintf(_T("\nDone!\n"));

}

达到的效果:


英文空间链接


★如何在命令行窗口动态显示打印数据https://confluence.zwcad.com/pages/viewpage.action?pageId=298355827

  • No labels