cwnd相关内容
在从 CWnd 派生的类的实例中,是否可以将所有 MFC 消息转发(重定向)到另一个对象,而无需为每个可能的消息编写单独的处理程序和消息映射?具体来说,我想将所有未处理的 WM_ 消息转发到另一个对象.如果这是不可能的,那么对象是否可以监听其他对象中发生的事件?如果这有助于澄清我的问题,我可以提供详细信息. 谢谢. 解决方案 你的目标需要比 MFC 低一点.您应该覆盖窗口的 PreT
..
根据 msdn,当我使用 CWnd::FromHandle 获取 CWnd*, 指针可能是临时的,不应存储以供以后使用. 我不清楚“以后使用"是什么意思.它只是当前方法的范围吗?据我所知,Win32是没有GC的! 解决方案 MFC 维护了许多句柄映射,从 HWND 到 CWnd,从 HDC 到 CDC 等,这些句柄映射存储在线程状态中.每个句柄映射都包含一个永久映射和临时映射
..
实际上我有两个问题: 从工作线程中调用SendMessage是否安全? CWnd方法(如MessageBox)是否在后台调用API函数SendMessage? 据我了解,当工作线程调用SendMessage时,它将消息推送到UI线程的消息队列中,并等待直到该消息被处理为止.在这种情况下,这样做是安全的. 对此我不太确定.如果我错了,请纠正我. 非常感谢. -----
..
我正在处理我们的32位MFC VC2010应用程序中发生的零星生产问题.该应用程序在Windows Server 2008 R2 Standard SP1 64位上运行. 此问题是由于无法创建CWnd派生类而引起的.发生故障时,AfxUnhookWindowCreate方法在CWnd :: CreateEx中返回false.这是因为pThreadState-> m_pWndInit变量不为N
..
我想创建一个基于CWnd的类,该类将引入具有透明背景的控件. 只要控件是静态的,创建一个控件并以透明背景绘制其内容对我来说没什么大不了的. 问题是当我想创建内容更改的控件时.因为我不知道如何用父级的背景(通常情况下可能不是纯色)来删除控件的内容. 所以我要实现的目标是在绘制控件内容之前擦除控件,因为该控件从未出现过(父控件,也许还有其他控件可能会出现),而不是在此位置绘制控件.
..
根据 msdn ,使用CWnd :: FromHandle获取CWnd *, 指针可能是临时的,不应存储以备后用. 我不清楚“以后使用"是什么意思.仅仅是当前方法的范围吗? 据我所知,Win32中没有GC! 解决方案 MFC维护了许多句柄映射,从HWND到CWnd,从HDC到CDC等,它们以线程状态存储.每个句柄映射都包含一个永久映射和一个临时映射-当您调用诸如CWnd ::
..
在从CWnd派生的类的实例中,是否可以将所有MFC消息转发(重定向)到另一个对象,而无需为每个可能的消息编写单独的处理程序和消息映射?具体来说,我想将所有未处理的WM_消息转发到另一个对象.如果这不可能,那么对象是否有可能侦听其他对象中发生的事件?如果可以帮助澄清我的问题,我可以提供详细信息. 谢谢. 解决方案 您需要将目标对准比MFC低一点的目标.您应该覆盖窗口的PreTransl
..
我有一个托管C ++ DLL用winsock。在接收它通过PostMessage的发送自定义消息到一个CWnd *()。从非托管C ++调用时能正常工作。 *与C ++类施工后使用此代码注册目标的CWnd: //注册一个窗口(CWnd的*)来当此UdpRetrySocket接收到有效的 //传入数据包接收的消息。 无效CUdpRetrySocket :: RegOnReceive(的C
..