问题标签 [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.

0 投票
6 回答
1007 浏览

c++ - MFC:到底什么是 CSplitterWnd Caret?

在 CSplitterWnd 类的上下文中,插入符号到底是什么?我找不到任何与 CSplitterWnds 明确相关的文档...

编辑:具体来说,这些功能实际上做了什么:

EDIT2:请注意,我知道插入符号是什么,我专门询问 CSlitterWnd 类上下文中的功能。我看过 MSDN 文档,但没有提供真正的解释。

0 投票
2 回答
4211 浏览

mfc - 未重绘 WS_EX_TRANSPARENT 样式的静态控件

我正在尝试创建一个在绘制 32 位位图时实现每像素 alpha 混合的控件。

我扩展了 CWnd 并在资源编辑器中使用静态控件。我设法正确地绘制了 alpha 通道,但静态控件仍然继续绘制灰色背景。

我覆盖了 OnEraseBkgnd 以防止控件绘制背景,但它没有用。我终于设法通过使用 WS_EX_TRANSPARENT 做到了。

我现在的问题是我的控制权置于其他控制权之上。第一次绘制对话框时一切正常……但如果我单击“父”控件(即我控制下的那个),我的控件不会收到 WM_PAINT 消息。所以不再画了。

如果我最小化应用程序并再次最大化它,则再次绘制控件。

拜托,谁能给个提示?我对这个控制感到疯狂!!!

谢谢。

0 投票
1 回答
491 浏览

winapi - DLGTEMPLATE 到 CWnd 派生的控制

是否可以使用 DLGTEMPLATE 并将其用作 CWnd 派生控件以放置在任何其他 CWnd 中?

我有一个要在我的 CDockablePanes 之一上使用的对话框模板

0 投票
1 回答
235 浏览

mfc - 如何知道控件何时将被隐藏

我有一个从 CWnd 对象派生的控件,该对象具有其自定义实现的工具提示系统。工具提示是使用 CDialog 实现的并且工作正常,但我有一个问题要知道何时必须隐藏它。

工具提示在鼠标悬停在控件上时显示 (WM_MOUSEHOVER),在鼠标离开控件时隐藏 (WM_MOUSELEAVE)。到现在为止还挺好。问题是设置控件的对话框可以从菜单中隐藏(不破坏它可以从菜单中再次显示)。发生这种情况时,不会将 WM_MOUSELEAVE 事件发送到控件并且不会删除工具提示...它会出现在新对话框上。

我的问题是:有没有办法知道控件被隐藏了?我知道我可以为设置控件的对话框捕获 WM_SHOWWINDOW 消息,但我想从控件本身执行此操作,因此我可以在其他地方使用控件而无需添加额外的代码。

提前致谢!

哈维尔

0 投票
1 回答
495 浏览

visual-c++ - 拖动 CWnd 派生对象时自定义图像

我想在拖放操作中拖动对象时显示自定义图像。

我创建了一个 CWnd 派生控件(图表),并在同一个对话框中显示了其中的 4 个。我已经使用 COleDataSource 实现了拖放,以便用户可以通过拖放控件来更改其位置。现在我想显示一个小版本的相同图表被拖动而不是典型的光标。

有没有“简单”的方法来做到这一点?

0 投票
4 回答
5052 浏览

mfc - 如何将 MFC 消息重定向到另一个对象?

在从 CWnd 派生的类的实例中,是否可以将所有 MFC 消息转发(重定向)到另一个对象,而无需为每个可能的消息编写单独的处理程序和消息映射?具体来说,我想将所有未处理的 WM_ 消息转发到另一个对象。如果这是不可能的,那么对象是否可以监听其他对象中发生的事件?如果这有助于澄清我的问题,我可以提供详细信息。

谢谢。

0 投票
4 回答
3890 浏览

mfc - 从 CWnd::FromHandle 获得的 CWnd 的生命周期是多少?

根据msdn,当我使用 CWnd::FromHandle 获得 CWnd* 时,

指针可能是临时的,不应存储以供以后使用。

我不清楚“以后使用”是什么意思。它只是当前方法的范围吗?据我所知,Win32是没有GC的!

0 投票
1 回答
6868 浏览

window - 如何从 CDialog 派生类获取窗口句柄?

有没有办法从 CDialog 派生类(如 CWnd::m_hWnd 成员)中检索窗口句柄?

谢谢

0 投票
5 回答
2189 浏览

windows - 如何用我自己的应用程序窗口 CWnd 替换窗口桌面

我尝试使用 GetDesktopWindow() 在我的 Windows 桌面上绘画。但我失败了,因为桌面会迅速重新粉刷自己,而我的画没有出现。所以我需要将 GetDesktopWindow() 获得的桌面窗口替换为 ownerdraw 应用程序窗口 谁能有一个想法,怎么做?

提前致谢,米兰

0 投票
2 回答
2290 浏览

c++ - 为什么即使在调用 UpdateWindow() 之后绘制消息也会丢失?

我有一个具有以下 Windows 层次结构的应用程序:

当 W2 中发生某些事件时,我会调用UpdateWindow

OnPaintW2的处理是这样的:

但有时油漆信息会在 W2 中丢失。虽然UpdateWindow被调用,但没有相应的OnPaint() 被调用。

如果我WS_EX_TRANSPARENT向 W1(W2 的父级)添加一个属性,那么总是会收到 @W2 的绘制消息。

但是添加WS_EX_TRANSPARENT标志的问题是当我调整窗口 W1 的大小时它会产生很多闪烁。

我的问题是: 1. W2 有什么问题导致 Paint 消息丢失?2.为什么添加WS_EX_TRANSPARENT解决了Paint问题。3. 使用flag如何解决闪烁问题。

谢谢,