- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我最近一直在使用 Win32,但我对它还很陌生,需要一些有关组织的建议。在 C++ 中,虽然声明全局变量在语法上是有效的,但我总觉得这是草率的,因为变量可以在任何地方修改,因此跟踪它的变化变得更加困难。
在我的 Win32 项目中,我有几个变量需要在多个地方进行修改。例如,一个这样的变量在 WndProc 函数中,也在对话过程函数中。由于它的使用方式,我可以简单地使用WndProc中的实际值,然后使用DialogBoxParam调用对话框,并通过lParam值将值传递给对话框。
但是,还有其他值,例如我用于绘图的某些位图或在多个不同窗口消息调用中使用的变量,这些值需要在 WndProc 函数的多个实例或多个实例中保留功能。我可以控制我创建的函数的参数,但是如果我需要将一个变量传递给 WndProc 函数以便我可以使用它而不管多个不同的窗口消息怎么办?如果我需要传入多个值怎么办?
到目前为止,我只是将所有内容都设置为全局变量,并且它可以正常工作,但对我来说感觉很草率……但我知道一些变量通常是全局变量,这是约定俗成的——比如主窗口和实例变量。
大家怎么看?
最佳答案
如果您有具体的代码示例,可能会有所帮助。但我认为你在谈论生命周期——你有一个资源(比如位图),你需要多次引用它以响应不同的 Windows 消息。你可以让它全局化,是的,但我同意这很草率。
那么谁创建了窗口?可能是您的“App”类或类似的东西。由于该类的生命周期在逻辑上比窗口长,因此它可以容纳窗口所需的资源。
或者更好的方法是创建一个“Window
”类。您的 App
实例化了一个 Window
对象。 Window
对象创建 Win32 窗口并保存 HWND(您现在已经将其从 App
中抽象出来,因此它不需要知道那些血淋淋的细节),并且Window
实例可以保存位图资源。
关于c++ - 使用 Win32 进行组织的典型约定是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15420582/
有什么方法可以使用常用工具(ffmpeg?mplayer/mencoder?mkvmerge?等)来查找关键帧在给定视频文件中出现的频率? {从而找到最小搜索大小?}这似乎是一个显而易见的统计数据,“
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 2 年前。 Improve
我正在阅读Intel的SSD产品specification。那里有一张桌子说 Latency (typical) read/write < 10 us 但是没有更多细节可以解释这个数字。有人知道“典型
出于好奇:典型的 Linux 发行版中最古老的代码/包是什么?电子书?海湾合作委员会? 最佳答案 Sun RPC 很老了,它在 C 库中: http://blogs.oracle.com/webmin
一个常见的假设是 1/x * x == 1。在符合 IEEE 754 标准的常见硬件上打破这个的最小正整数是多少? 当乘法逆的假设失败时,写得不好的有理算术就会停止工作。由于包括 C 和 C++ 在内
流行手机型号支持的典型触摸点数量是多少?我在基础研究中看到低至 2 和高至 5,但我希望能够将其映射到实际手机和更好的限制! 最佳答案 两部手机的触控点数据: Galaxy S 5 LG
我讨厌讨厌IE!既然我已经咆哮了,我确实需要一些帮助。我这里有这个网站。 http://pearsonlyle.uwpistol.net/galleries/susie-theodorou/edito
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
作为来自企业 IT 的 Node.js 初学者,我无法理解 Node.js 用法的某一方面。我将我的问题分为两部分。 问题 1) 严格从可扩展性的角度来看,I/O 密集型 Web 应用程序如何使用 N
我希望我的问题是合法的......我问这个问题是因为在阅读了许多博客,玩了许多示例应用程序和官方 API 1 周后,我仍然很困惑,从哪里开始编码...... 总的来说,就浏览器之间的系统架构而言 W
这是我的汽车类(class): public class Car { private int FGNr; private String name; private String type; priva
我认为我的问题标题清楚地表达了我需要的信息的本质。我用谷歌搜索了 where is the "applies to list" in vba excel以及其中的一些变体,都带有如图所示的引号,这应该
我是一名优秀的程序员,十分优秀!