问题标签 [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 投票
1 回答
304 浏览

c++ - 如何判断 WTL 中子窗口的状态何时发生变化?

我使用 WTL 编写了一个简单的 GUI:

安全中心橡皮擦

就设置窗口而言,我已经弄清楚了一切,并且还连接了菜单等以调用我想要的任何东西。但我需要知道,例如,何时有人选中列表视图中的复选框之一,或者何时有人单击按钮。

这些子窗口是否向主窗口发送消息通知状态更改,并且该通知在子窗口类型之间通常是一致的吗?

0 投票
3 回答
8880 浏览

c++ - ATL 和 WTL 有什么区别?

我知道“WTL建立在ATL 之上”,但这实际上意味着什么?

就功能而言,ATL 是 WTL 的子集吗?(即 ATL 中的所有功能是否也存在于 WTL 中?)我注意到 Wikipedia 指出 ATL 的开发状态是“当前”,而 WTL 的最新版本是从 2009 年中期开始的。这是否意味着如果我想使用 Glass/Aero 和其他 Windows 7 功能编写 Windows 7 软件,那么我不能使用 WTL 来完成它?ATL呢?

在 ATL 和 WTL 中编写程序是否有任何性能/内存差异?

0 投票
1 回答
363 浏览

c++ - Rihedit 文本边距

如何设置 Richedit 文本的顶部/左侧边距,以便它显示的文本应低于/远离其顶部/左侧边框指定的距离?我用 C++ 编写。

谢谢

0 投票
1 回答
793 浏览

c++ - 标识符在 ATL\WTL 应用程序中未定义

我在 Visual Studio 2010 中创建了新的 ATL\WTL 项目。

我在下面有红线CAppModuleCMessageLoop 等等。有错误

标识符未定义

如何解决?

0 投票
1 回答
302 浏览

visual-c++ - 无限消息循环导致堆栈溢出后 WTL 窗口/表单崩溃

我有一个遗留项目需要修复 WTL/VC++ 中的错误。问题之一 - 使用 Ctrl+X 或 Ctrl+Z 键后主窗口(当然,整个应用程序)崩溃。我没有为这些键分配任何自定义加速键。我发现“致命”组合键会导致无限消息循环

uMsg == 273 (0x00000111)

最终因堆栈溢出错误而崩溃:

我只是在消息处理功能中对其进行了修补-

BEGIN_MSG_MAP(CMDIChildWindowImpl)

* *

* *

END_MSG_MAP()

但我对这个创可贴补丁不满意,如果能理解发生了什么会很好 - 我实际上希望这些组合键在我的表单上执行 Windows 默认操作,“剪切”和“撤消”

有关致命消息的更多信息:

Ctrl+X -

uMsg 273 无符号整数

wParam 123171 无符号整数

lParam 0 长

lParam 0 长

Ctrl+Z -

uMsg 273 无符号整数

wParam 123179 无符号整数

lParam 0 长

对不起,如果这没有意义,我的 VC++ 功夫相当生疏;如果有人能给我提示在哪里寻找这些想法,那将不胜感激。

谢谢!

O。

0 投票
2 回答
1658 浏览

c++ - 无法使用 winapi 获取资源位图大小

我有一个黑白 bmp 文件。它是 8 BPP 图片,大小为 2048 * 2048。我创建了一个新的 WTL 项目,转到“资源”-> 导入位图-> 选择我的 bmp 文件-> 给它MYBITMAPIDid

这是代码:

调试器说两个大小都是 0。

我试过了

并得到相同的结果。

我可以使用 CBitmap 类获取大小,但我只想将 winapi 用于此操作。

如何从资源中加载位图?

0 投票
2 回答
686 浏览

wtl - 获取 CTreeViewCtrl 的 Click 事件

我的意思是单击树视图的元素->它在列表视图中显示某物。

我创建这样的控件(其中树和列表 - > CTreeViewCtrl 和 CListViewCtrl)

什么参数会有事件功能?

0 投票
2 回答
851 浏览

winapi - 如何使用 WTL 跟踪多个 TrackBar 之间的焦点变化?

我正在尝试使用 WTL 跟踪几个 TrackBars(又名滑块,都在同一个窗口内)之间的焦点变化。

到目前为止,我已经为每个滑块尝试了一个 MESSAGE_HANDLER(WM_SETFOCUS, func) 和一个 COMMAND_HANDLER(IDC_SLIDERn, WM_SETFOCUS, func) ,但没有成功。

msdn 上的 about trackbar controls 页面显示:“WM_SETFOCUS 重新绘制 trackbar 窗口。” ..

编辑:我现在已经从我自己的类中派生了滑块,在该类中我使用 MESSAGE_HANDLER 处理 WM_SETFOCUS 并通过将消息发布到父窗口并将 m_hWnd 作为 lParam 来通知父窗口,这样我就可以在父窗口中检查哪个滑块获得了焦点。

这行得通,但是有没有更优雅的方法来做到这一点?

0 投票
1 回答
242 浏览

windows - WTL:在某些命令处理程序中处理某些命令

我是 WTL 的新手。

我正在处理的一个项目的类之一是 WTL GUI 类。它的消息映射包含一条记录:

OnMenuClick处理所有WM_COMMAND的在菜单点击后发送。有没有办法为某些消息设置另一个命令处理程序,同时OnMenuClick处理所有其他消息?

我试过这个:

它工作,OnStartTask处理ID_START_TASK命令,但它取决于声明顺序。如果我更改字符串声明顺序,则OnMenuClick处理ID_START_TASK命令。

我使用 VS 2008 + WTL 8.0

0 投票
1 回答
315 浏览

c++ - 是什么导致 WS_TABSTOP 影响窗口绘制顺序?

在 WTL 中,CBitmapButton 不支持带有透明层的图片,例如 PNG。所以我自定义代码以使用 GDI+ 绘制 PNG,将其命名为 CPNGButton。但是在win XP上事情很奇怪。当按钮被其他窗口重叠时,按钮先接收 WM_PAINT,然后再接收父级,导致结果不正确。

在此处输入图像描述--->在此处输入图像描述

我检查资源并从按钮的模板中删除 WS_TABSTOP 属性,一切正常,父窗口首先接收 WM_PAINT,然后是按钮。是什么导致 WS_TABSTOP 影响窗口绘制顺序?