程序运行中不能在窗口上即时显示文本的有关问题
程序运行中不能在窗口上即时显示文本的问题
显示文本倒没问题,但是我有一个算法,批处理图片,每张得到的结果显示在视图上,用setwindowtext
但是问题是我每次gerwindowtext(str),更新这个str(str=str+新结果),setwindowtext(str),这样肯定没错
但是总是在程序执行完毕的时候一下子全部显示出来,中间算出多少此结果都不显示
似乎是这个显示方法对于系统要求很高,如果显示的同时执行下一条命令的话就会影响显示?
比如能看到CEditView的滚动条被我显示结果的换行给拉开了,肯定已经更新了,但是就是显不出文本。直到结束才行
--
------解决方案--------------------
循环中阻塞了消息循环。可以开线程或者在自己的循环中加一个GetMessage/DispatchMessage。
------解决方案--------------------
GetMessage是得到相应的消息后才返回,如果得不到呢?那么就不返回,
而另外的程序代码可能就是让GetMessage返回的关键,但同时也需要GetMessage返回才能执行,所以……
当然只是推测,你自己验证一下是否吧
显示文本倒没问题,但是我有一个算法,批处理图片,每张得到的结果显示在视图上,用setwindowtext
但是问题是我每次gerwindowtext(str),更新这个str(str=str+新结果),setwindowtext(str),这样肯定没错
但是总是在程序执行完毕的时候一下子全部显示出来,中间算出多少此结果都不显示
似乎是这个显示方法对于系统要求很高,如果显示的同时执行下一条命令的话就会影响显示?
比如能看到CEditView的滚动条被我显示结果的换行给拉开了,肯定已经更新了,但是就是显不出文本。直到结束才行
--
------解决方案--------------------
循环中阻塞了消息循环。可以开线程或者在自己的循环中加一个GetMessage/DispatchMessage。
------解决方案--------------------
GetMessage是得到相应的消息后才返回,如果得不到呢?那么就不返回,
而另外的程序代码可能就是让GetMessage返回的关键,但同时也需要GetMessage返回才能执行,所以……
当然只是推测,你自己验证一下是否吧