ActiveX控件中捕获不到TWAIN消息,而做成应用,在窗体中可捕获消息
萝卜波 2009-08-25 09:19:36 现在我利用该代码制作一ActiveX控件,用的是MFC ActiveX向导。在控件的PreTranslateMessage中COleControl::PreTranslateMessage(pMsg)前加上对TWAIN的消息处理
函数,其他代码基本与下载的那个相同,结果是弹出TWAIN扫描界面后,捕获不到TWAIN的
消息。这是怎么回事?
查看论坛历史记录:yonsm有过回复
TWAIN 需要在用户UI线程中处理消息,而作为OCX控件的PreTranslateMessage不是UI消息循环的线程,导致TWAIN无法处理事件。
我已经更改了Twain类,不再依赖于其它窗口,GetImage将是一个阻塞的函数,调用后内部自动创建一个消息循环,所以能够正常使用。
但是不知道怎么改的, 盼望高手求救