使用WNIM库是NIM的,但实际上是关于Win32 API的问题,因为WNIM是Win32 GUI的非常轻巧的包装器。 我有一个线程程序。 ...

问题描述 投票:0回答:0
UpdateWindow

WM_PAINT

处理程序立即在屏幕上绘制一些东西。 有时,我介绍了一些MS,以为这会给系统

sleep
消息以一些时间来追赶。
通常效果很好。  我可以在客户区域以图形方式观看计算进展。
无论如何在此期间尝试移动窗口时(有或没有
WM_xxx
)在做更新时,它不仅不响应该动作(如果省略
sleep
,这是可以理解的) ,但是来自
sleep(...)
完全停止的图形,窗口变成了窗户在程序死亡时所做的幽灵般的白色。 通常,CLI中的调试输出无论如何都会继续。 通常,但并非总是如此,CLI输出停止,Windows对话框出现告诉我该程序崩溃了。 在任何时候,我都可以在CLI中击中CTRL-C并恢复正常。 有人可以解释哪些特定的事件和不当信息导致一切死亡丑陋的死亡? below是伪代码。 是否有适当的方法可以允许长期运行的前景计算更新客户区域,同时也无需多线程响应其他用户事件? 还是多线程是这里的最佳选择? 我怀疑我的

onPaint

电话是将一些周期回到消息传递机构的地方。

假码:

sleep(...)
	
如果您阅读了sendmessage的文档,您会发现,在处理事件之前,它的sendmessage不会返回。在某些情况下,如果处理消息会导致其他事件在同一窗口中触发的其他事件会导致其他事件,则我将导致递归导致递归。允许延迟处理使用后。
UPDATE窗口绕过队列。它本质上是直接使用涂料事件调用窗口过程。称为此处理程序的相同窗口过程。在涂料完成后,请在处理程序中睡觉,并停止事件处理。

winapi nim-lang
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.