问题标签 [wtl]

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 投票
4 回答
2611 浏览

c++ - 更改列表视图和树视图颜色的最简单方法

我试图找到一种简单的方法来更改 WTL 或纯 Win32 代码中的文本和背景listview以及treeview控件的颜色。

我真的不想为这些控件实现完整的所有者绘图,只需更改使用的颜色。

我想确保图像仍然以适当的透明度绘制。

有什么建议么?

0 投票
5 回答
40138 浏览

c++ - 如何将 WTL 和 ATL 添加到 Visual Studio C++ Express 2008

我开始在家里使用 Visual Studio C++ Express 2008,但里面没有 ATL。
如何将 ATL 添加到 Visual Studio C++ Express 2008?

0 投票
2 回答
466 浏览

c++ - 将对象属性绑定到 WTL 控件的框架

我想要这样的东西:

如果我能提供我的自定义验证,那就太好了:

有没有人见过这样的东西?

PS 我不喜欢 DDX,因为它很旧而且不灵活,而且我不能使用 getter 和 setter。

0 投票
2 回答
3781 浏览

c++ - ATL/WTL 是否仍需要使用全局 _Module 变量?

我刚刚开始一个新的 ATL/WTL 项目,我想知道是否仍然需要全局 _Module 变量?

几年前,当我开始使用 WTL 时,需要(至少对于 ATL 3.0)定义一个全局变量,例如:

让 ATL 正常工作。但最近我在某处读到这可能不再需要(但向导生成的代码仍然使用它)。我还通过 Visual C++ 包含目录进行了搜索,它只在几个地方找到了 _Module - 最值得注意的是 ATL COM 注册表的东西。

那么这些天我还需要定义一个全局变量来使用 ATL 吗?

0 投票
3 回答
1344 浏览

internet-explorer - IE 中的 ActiveX。对话框未显示 XP 视觉样式

我在 IE (7) 中有一个 ActiveX 控件。当它显示一个对话框时,该对话框不以 XP 视觉样式显示。我试过嵌入清单无济于事。有人知道吗?顺便说一句,对话框是使用 wtl 实现的。

0 投票
1 回答
324 浏览

c++ - BEGIN_MSG_MAP_EX 破坏 Visual Studio 2005 智能感知?

我有一个使用 WTL/ATL BEGIN_MSG_MAP_EX 宏进行消息处理的 C++ 应用程序。我使用 atlcrack.h 中的一些宏。

当我们将项目升级到 Visual Studio 2005 时,智能感知表现得很疯狂。我已经将行为追踪到 BEGIN_MSG_MAP_EX 宏在智能感知中的行为不正确。但是,我找不到继续使用 BEGIN_MSG_MAP_EX 和 Visual Studio 2005 的方法。

我是否必须重写所有旧的消息处理程序并停止使用 BEGIN_MSG_MAP_EX 或者是否有其他修复?

0 投票
3 回答
4151 浏览

c++ - 如何在应用程序退出时诊断访问冲突

我有一个正在尝试调试崩溃的应用程序。但是,由于以下几个原因,很难检测到该问题:

  • 崩溃发生在关闭时,这意味着有问题的代码不在堆栈中
  • 崩溃仅发生在发布版本中,这意味着符号不可用

崩溃是指以下异常:

你会使用什么策略来诊断这个问题?

到目前为止,我所做的是从我的程序中删除尽可能多的代码,直到我得到导致崩溃的最低限度。它似乎发生在静态链接到项目的代码中,所以这也无济于事。

0 投票
3 回答
1203 浏览

winapi - 预注册 ATL 窗口类

我在一个项目中使用了 ATL 和 WTL 的组合,并从 派生了我自己的类CWindowImpl,它看起来像这样:

这一切都很好,如果我CMyControl::Create用来创建控件的实例,那么它在后台运行良好,该CWindowImpl::Create函数将注册 Win32 类(在本例中称为MyClassName)。

然而,正是这种行为——在创建实例时注册了 Win32 类——让我很头疼。我希望能够预先注册类,以便我可以将类名与另一个 3rd 方库一起使用,该库将使用 Win32CreateWindowEx调用创建窗口,但我找不到一个简单的方法来做到这一点。目前我通过使用static作为CreateWindowEx类名来解决这个问题,然后使用CMyWindow::SubclassWindow将我的类附加到它,但这是一个杂项。

有谁知道如何在CWindowImpl不实际创建窗口的情况下注册派生类,以便我可以CreateWindowEx成功传递类名?我认为有一种标准方法可以使用 ATL 窗口来执行此操作,因为我不是第一个遇到此问题的人。

0 投票
2 回答
1177 浏览

c++ - 为什么子窗口可能收不到鼠标事件?

我有一个自定义 WTL 控件,它是一个带有列表和自定义滚动条的面板。

滚动条由面板在 OnCreate() 中创建:

该滚动条在许多其他对话框窗口中工作正常。但是,在该面板控件内,滚动条出现,但根本没有接收到鼠标事件。如果我将WM_MOUSEMOVE处理程序添加到面板,它会被调用。

可能是什么问题呢?

0 投票
1 回答
366 浏览

windows - 如何允许 MDI 应用程序中的窗口离开它的父容器 w/Win32?

我有一个 MDI 应用程序。我想在子窗口的非客户端标题栏中添加一个图标,允许窗口与父 MDI 容器分开浮动,允许用户获取子窗口并在 MDI 之外将它们任意放置在桌面周围窗户。

我已经看到它完成了,所以我知道这是可能的,但我很难弄清楚如何完成它。

我正在使用 WTL(Windows 模板库),但是我使用 MFC 和 Win32 来标记它,因为我相信基本原理是相同的,而且人们可能会了解各种 Windows API。