问题标签 [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.
c++ - 如何判断 WTL 中子窗口的状态何时发生变化?
我使用 WTL 编写了一个简单的 GUI:
就设置窗口而言,我已经弄清楚了一切,并且还连接了菜单等以调用我想要的任何东西。但我需要知道,例如,何时有人选中列表视图中的复选框之一,或者何时有人单击按钮。
这些子窗口是否向主窗口发送消息通知状态更改,并且该通知在子窗口类型之间通常是一致的吗?
c++ - ATL 和 WTL 有什么区别?
我知道“WTL建立在ATL 之上”,但这实际上意味着什么?
就功能而言,ATL 是 WTL 的子集吗?(即 ATL 中的所有功能是否也存在于 WTL 中?)我注意到 Wikipedia 指出 ATL 的开发状态是“当前”,而 WTL 的最新版本是从 2009 年中期开始的。这是否意味着如果我想使用 Glass/Aero 和其他 Windows 7 功能编写 Windows 7 软件,那么我不能使用 WTL 来完成它?ATL呢?
在 ATL 和 WTL 中编写程序是否有任何性能/内存差异?
c++ - Rihedit 文本边距
如何设置 Richedit 文本的顶部/左侧边距,以便它显示的文本应低于/远离其顶部/左侧边框指定的距离?我用 C++ 编写。
谢谢
c++ - 标识符在 ATL\WTL 应用程序中未定义
我在 Visual Studio 2010 中创建了新的 ATL\WTL 项目。
我在下面有红线CAppModule
,CMessageLoop
等等。有错误
标识符未定义
如何解决?
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。
c++ - 无法使用 winapi 获取资源位图大小
我有一个黑白 bmp 文件。它是 8 BPP 图片,大小为 2048 * 2048。我创建了一个新的 WTL 项目,转到“资源”-> 导入位图-> 选择我的 bmp 文件-> 给它MYBITMAPID
id
这是代码:
调试器说两个大小都是 0。
我试过了
并得到相同的结果。
我可以使用 CBitmap 类获取大小,但我只想将 winapi 用于此操作。
如何从资源中加载位图?
wtl - 获取 CTreeViewCtrl 的 Click 事件
我的意思是单击树视图的元素->它在列表视图中显示某物。
我创建这样的控件(其中树和列表 - > CTreeViewCtrl 和 CListViewCtrl)
什么参数会有事件功能?
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 来通知父窗口,这样我就可以在父窗口中检查哪个滑块获得了焦点。
这行得通,但是有没有更优雅的方法来做到这一点?
windows - WTL:在某些命令处理程序中处理某些命令
我是 WTL 的新手。
我正在处理的一个项目的类之一是 WTL GUI 类。它的消息映射包含一条记录:
OnMenuClick
处理所有WM_COMMAND
的在菜单点击后发送。有没有办法为某些消息设置另一个命令处理程序,同时OnMenuClick
处理所有其他消息?
我试过这个:
它工作,OnStartTask
处理ID_START_TASK
命令,但它取决于声明顺序。如果我更改字符串声明顺序,则OnMenuClick
处理ID_START_TASK
命令。
我使用 VS 2008 + WTL 8.0
c++ - 是什么导致 WS_TABSTOP 影响窗口绘制顺序?
在 WTL 中,CBitmapButton 不支持带有透明层的图片,例如 PNG。所以我自定义代码以使用 GDI+ 绘制 PNG,将其命名为 CPNGButton。但是在win XP上事情很奇怪。当按钮被其他窗口重叠时,按钮先接收 WM_PAINT,然后再接收父级,导致结果不正确。
--->
我检查资源并从按钮的模板中删除 WS_TABSTOP 属性,一切正常,父窗口首先接收 WM_PAINT,然后是按钮。是什么导致 WS_TABSTOP 影响窗口绘制顺序?