问题标签 [visual-c++-6]
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.
mfc - 用户界面:切换 MDI 框架顶部状态的最佳方式?
我维护一个使用 Frame Windows 作为文档视图的 MFC (VC6) MDI 应用程序。一次只有一个文档,但有多个 MDI 框架,每个框架都有不同的文档数据视图。
最近出现了一个请求,即能够将这些框架窗口中的一个保持在其他框架窗口之上,同时能够与背景窗口进行交互。
一个想法是在框架的标题栏中添加一个“固定按钮”。在我的研究中,我发现每个实现都使用位图而不是例如 CButton 对象。一旦使用默认灰色以外的窗口颜色,更不用说 UI 主题,这就会开始变得难看。
框架窗口菜单中的一个选项(左键单击标题栏中的窗口图标时出现的东西)是可能的,但我正在寻找对用户更明显的东西。
设置此框架窗口的顶部状态还有哪些其他可能性?
更新
我决定采用 Uli 建议的解决方案,因为该解决方案适用于 XP 主题。不幸的是,这直接引出了我的下一个问题:我怎样才能真正让框架窗口保持在顶部?
mfc - 如何使 MDI 子窗口保持在其兄弟窗口之上?
这个问题与我之前的问题有关。
我有一个 MFC (VC6) MDI 应用程序,它有几个 MDI 子窗口充当一个文档的不同视图。
是否可以将其中一个框架设置在其他框架之上?
我试过打电话
和
来自 CMDIChildWnd 但似乎都不起作用。
c++ - 使用静态变量和模板
我在这样的头文件中定义了一个模板类。这里我也定义了一个静态变量:
我在不同的 cpp 文件中定义了 main() 函数,如下所示:
我在不同的 cpp 文件中实现了函数 f1(),如下所示:
当我使用 VC6 编译它时,我得到的输出是“F1:0 Main:2”。这怎么可能?另外,一般来说,如果我想将静态变量与模板一起使用,我应该如何处理?
postgresql - 如何覆盖 CRecordSet 的 SQL,然后重新查询?
我有一个 CRecordSet (Visual C++ 6.0),我正在使用 ODBC 连接到 postgresql 8.0.8。
__
问题:我将一行插入具有序列 ID(自动增量)的表中,并且我想在插入后检索该 ID。
我不能使用 RETURNING 关键字,这个版本的 PGsql 不支持,但我可以使用 currval('sequence')。
但是,在我的代码中,我需要执行默认查询,然后覆盖它以使用 currval() 执行查询。
据我了解,我只能通过再次调用 CRecordSet::Open() 来覆盖查询,这将创建一个新会话,从而使 currval() 无用。
__
那么:如何覆盖 SQL,然后通过 Requery() 而不是通过 Open() 执行这个新查询?
c++ - VC++ 6.0 向量访问冲突崩溃。已知错误?
我正在尝试使用 std::vector<>::const_iterator 并且出现“访问冲突”崩溃。看起来 std::vector 代码在使用自己的内部First_
和Last_
指针时崩溃了。大概这是一个已知的错误。我希望有人可以指出我正确的解决方法。从外部库调用崩溃函数可能相关吗?
简单地调用ThingList_.size()
也会崩溃。
这是 sp6,如果重要的话。
visual-c++ - 为什么释放 calloc'ed 内存会使我的 VC6 项目崩溃?
比较这两个基本相同的功能。首先,buff
使用 _alloca 分配内存。这工作正常。第二种,使用 calloc 和 free 代替 _alloca。这崩溃了。
奇怪的是,我在我拥有的几乎所有其他 GMP 包装函数中都使用了 calloc/free 技术,而且它们都可以工作。在这里他们没有。有任何想法吗?
1:
2:
c++ - 在代码中捕获异常
我正在尝试这段代码来检查是否捕获了除以零异常:
当我使用 VC6 编译时,catch 处理程序被执行并且输出是“Caught exception”。但是,当我使用 VS2008 编译它时,程序在没有执行 catch 块的情况下崩溃了。造成这种差异的原因可能是什么?
c++ - 有什么理由不使用 Visual Studio 6 for C++?
为什么我不应该使用 Visual Studio 6 进行 C++ 开发?
- 我在哪里可以找到一些资源,为什么这会或不会是一个好主意?
- 有没有我会遇到的问题清单?
c++ - 将vc6移植到vc2005/vc2008的优势?
我要求我的团队将我们的 vc6 应用程序移植到 vc2005,他们准备分配一些时间来做同样的事情。现在他们需要知道移植的优势是什么。
我不认为他们真正理解遵守标准意味着什么。
帮我列出做移植的优势。
我面临的问题是
1)标准容器不支持调试
2)不能使用boost库
3)我们使用了大量的查询生成,但使用了类型不安全的 CString 格式函数
4)很多时间都花在解决 vc6 问题上,比如有 >>
>>之间没有空格
mfc - 如何有条件地编译VC6资源
根据以环境变量的形式设置的编译开关(值为COMPILE_A
或COMPILE_B
),我想用不同的设置编译我的应用程序,例如应用程序名称和启动画面。
我做到了这一点:
在“项目/设置/C/C++/预处理器定义”中,我添加了
$(COMPILESWITCH)
(命令行选项中的结果/D "$(COMPILESWITCH)"
)。在 stdafx.h 我可以使用以下代码,这意味着我通过命令行参数正确定义了预处理器定义:
但我注意到“ResourceView / [右键单击] / Properties”下的“Condition”属性......帮助文本说:
健康)状况确定资源的包含。例如,如果条件是 _DEBUG,则此资源将仅包含在调试版本中。
这看起来很优雅,对吧?
指定_DEBUG
为条件有效。因此,_DEBUG
通过/D _DEBUG
我的指定$(COMPILESWITCH)
也应该工作,对吧?
出于某种原因,它没有;为什么?
或者还有另一种更好的方法来实现我想要的吗?