问题标签 [cwnd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - MFC:到底什么是 CSplitterWnd Caret?
在 CSplitterWnd 类的上下文中,插入符号到底是什么?我找不到任何与 CSplitterWnds 明确相关的文档...
编辑:具体来说,这些功能实际上做了什么:
EDIT2:请注意,我知道插入符号是什么,我专门询问 CSlitterWnd 类上下文中的功能。我看过 MSDN 文档,但没有提供真正的解释。
mfc - 未重绘 WS_EX_TRANSPARENT 样式的静态控件
我正在尝试创建一个在绘制 32 位位图时实现每像素 alpha 混合的控件。
我扩展了 CWnd 并在资源编辑器中使用静态控件。我设法正确地绘制了 alpha 通道,但静态控件仍然继续绘制灰色背景。
我覆盖了 OnEraseBkgnd 以防止控件绘制背景,但它没有用。我终于设法通过使用 WS_EX_TRANSPARENT 做到了。
我现在的问题是我的控制权置于其他控制权之上。第一次绘制对话框时一切正常……但如果我单击“父”控件(即我控制下的那个),我的控件不会收到 WM_PAINT 消息。所以不再画了。
如果我最小化应用程序并再次最大化它,则再次绘制控件。
拜托,谁能给个提示?我对这个控制感到疯狂!!!
谢谢。
winapi - DLGTEMPLATE 到 CWnd 派生的控制
是否可以使用 DLGTEMPLATE 并将其用作 CWnd 派生控件以放置在任何其他 CWnd 中?
我有一个要在我的 CDockablePanes 之一上使用的对话框模板
mfc - 如何知道控件何时将被隐藏
我有一个从 CWnd 对象派生的控件,该对象具有其自定义实现的工具提示系统。工具提示是使用 CDialog 实现的并且工作正常,但我有一个问题要知道何时必须隐藏它。
工具提示在鼠标悬停在控件上时显示 (WM_MOUSEHOVER),在鼠标离开控件时隐藏 (WM_MOUSELEAVE)。到现在为止还挺好。问题是设置控件的对话框可以从菜单中隐藏(不破坏它可以从菜单中再次显示)。发生这种情况时,不会将 WM_MOUSELEAVE 事件发送到控件并且不会删除工具提示...它会出现在新对话框上。
我的问题是:有没有办法知道控件被隐藏了?我知道我可以为设置控件的对话框捕获 WM_SHOWWINDOW 消息,但我想从控件本身执行此操作,因此我可以在其他地方使用控件而无需添加额外的代码。
提前致谢!
哈维尔
visual-c++ - 拖动 CWnd 派生对象时自定义图像
我想在拖放操作中拖动对象时显示自定义图像。
我创建了一个 CWnd 派生控件(图表),并在同一个对话框中显示了其中的 4 个。我已经使用 COleDataSource 实现了拖放,以便用户可以通过拖放控件来更改其位置。现在我想显示一个小版本的相同图表被拖动而不是典型的光标。
有没有“简单”的方法来做到这一点?
mfc - 如何将 MFC 消息重定向到另一个对象?
在从 CWnd 派生的类的实例中,是否可以将所有 MFC 消息转发(重定向)到另一个对象,而无需为每个可能的消息编写单独的处理程序和消息映射?具体来说,我想将所有未处理的 WM_ 消息转发到另一个对象。如果这是不可能的,那么对象是否可以监听其他对象中发生的事件?如果这有助于澄清我的问题,我可以提供详细信息。
谢谢。
mfc - 从 CWnd::FromHandle 获得的 CWnd 的生命周期是多少?
根据msdn,当我使用 CWnd::FromHandle 获得 CWnd* 时,
指针可能是临时的,不应存储以供以后使用。
我不清楚“以后使用”是什么意思。它只是当前方法的范围吗?据我所知,Win32是没有GC的!
window - 如何从 CDialog 派生类获取窗口句柄?
有没有办法从 CDialog 派生类(如 CWnd::m_hWnd 成员)中检索窗口句柄?
谢谢
windows - 如何用我自己的应用程序窗口 CWnd 替换窗口桌面
我尝试使用 GetDesktopWindow() 在我的 Windows 桌面上绘画。但我失败了,因为桌面会迅速重新粉刷自己,而我的画没有出现。所以我需要将 GetDesktopWindow() 获得的桌面窗口替换为 ownerdraw 应用程序窗口 谁能有一个想法,怎么做?
提前致谢,米兰
c++ - 为什么即使在调用 UpdateWindow() 之后绘制消息也会丢失?
我有一个具有以下 Windows 层次结构的应用程序:
当 W2 中发生某些事件时,我会调用UpdateWindow
:
OnPaint
W2的处理是这样的:
但有时油漆信息会在 W2 中丢失。虽然UpdateWindow
被调用,但没有相应的OnPaint
() 被调用。
如果我WS_EX_TRANSPARENT
向 W1(W2 的父级)添加一个属性,那么总是会收到 @W2 的绘制消息。
但是添加WS_EX_TRANSPARENT
标志的问题是当我调整窗口 W1 的大小时它会产生很多闪烁。
我的问题是: 1. W2 有什么问题导致 Paint 消息丢失?2.为什么添加WS_EX_TRANSPARENT
解决了Paint问题。3. 使用flag如何解决闪烁问题。
谢谢,