visual-c++相关内容

如何为我的应用程序的 DLL 创建一个单独的文件夹?

我已经成功地将一个大型 MFC 项目划分为几个较小的 DLL 项目.现在我想在我的应用程序文件夹中有一个名为“DLL"的单独文件夹,其中放置了子项目中的所有 DLL. 谁能指导我如何实现这一目标? 解决方案 DLL 重定向是一个相当新的功能(Windows 2000 IIRC).将您的 DLL 目录命名为 .exe.local,Windows 将首先检查它是否有任何通过 ..
发布时间:2022-01-12 14:59:54 C/C++开发

将 MFC 中的大型项目从 Visual C++ 6.0 迁移到 Visual Studio 2005

我在 Visual C++ 6.0 中维护一个大型项目(约 250k loc,不计算从 idl 生成的代码),它使用 Visibroker(简称 VB)5.2.1(这是 Borland 的 CORBA 实现).最近,与我的项目通信的另一个模块升级到了 VB 8.0,我遇到了一堆不兼容的问题.由于 VB 5.2.1 不再受支持,而 VB 8.0 不适用于 Visual C++ 6.0,我正在考虑将整 ..
发布时间:2022-01-12 14:58:00 C/C++开发

Ccriticalsection 可以在生产中使用吗?

我们是 MFC 的几个新手,我们正在构建一个多线程应用程序.我们在 URL 中遇到了警告我们不要使用 CCriticalSection 的文章,因为它的实现被破坏了.我们很想知道是否有人有使用 CCriticalSection 的经验,您是否遇到任何问题或错误?如果我们使用 VC++ 2008 构建我们的应用程序,CCriticalSection 是否可用并准备好生产? http://www ..
发布时间:2022-01-12 14:57:53 C/C++开发

问题:如何在 C++ MFC 中将 CString 转换为 const char *

如何将 CString 转换为 const char *?我已经尝试了在互联网上找到的所有内容,但我仍然无法转换它们. 请帮忙. 谢谢. 解决方案 CString 直接转换为 const char * CString temp;温度=“哇";const char * foo = (LPCSTR) 温度;printf("%s", foo); 将打印'foo' 较新版本的 ..
发布时间:2022-01-12 14:57:28 C/C++开发

读取 VC++ CArchive 二进制格式(或 Java 读取(CObArray))

是否有关于用于序列化各种 MFC 数据结构的二进制格式的明确文档?我已经能够在十六进制编辑器中查看我自己的一些类,并使用 Java 的 ByteBuffer 类来读取它们(使用自动字节序转换等). 但是,我目前在尝试引入 CObArray 数据时遇到了问题,因为似乎有一个相当大的标题对我来说是不透明的,并且不清楚它是如何持久化对象类型信息的. 是否有一套在线文档可以对此有所帮助?或者来 ..
发布时间:2022-01-12 14:57:19 Java开发

MFC:如何在 Cmenu 项目中添加工具提示?

如何为 CMenu 项添加工具提示?我找不到任何简单而有用的资源.请帮忙.谢谢... 解决方案 最简单的方法是将多个字符串传递给菜单文本,由换行符分隔. 这将自动使 CMenu 将文本的第二部分显示为菜单工具提示. 例如,如果菜单项文本为“单击此处",则将其更改为 "点击这里\n这是菜单项的工具提示..." 当然,如果你喜欢更高级/花哨的工具提示,那就试试吧 http ..
发布时间:2022-01-12 14:56:06 C/C++开发

如何将 _bstr_t 转换为 CString

我有一个 _bstr_t 变量 bstrErr 并且我有一个 CString 变量 csError.如何将 bstrErr 中的值设置为 csError? 解决方案 是不是只能投了: _bstr_t b("Steve");CString cs;cs = (LPCTSTR) b; 我认为当项目是 Unicode 时这应该可以工作. ..
发布时间:2022-01-12 14:55:33 C/C++开发

如何将夹具添加到 PropertySheet?

我有一个派生自 CPropertySheet 的类,我想在对话框的右下角插入一个“夹具". 我的对话框已经可以调整大小了,我只是无法插入抓手. 解决方案 我不知道有没有什么特殊的 API 可以做到这一点.一种选择是手动绘制,然后覆盖 ON_WM_NCHITTEST 并返回 HTBOTTOMRIGHT 以获取夹具的位置.例如: void CMyDialog::OnPaint(){CPai ..
发布时间:2022-01-12 14:53:29 C/C++开发

如何在 MFC 应用程序中获取命令行参数?

我希望有一个基于对话框的小应用程序,它通过命令行参数传递,因此,我使用 VC++6 运行应用程序向导并选择了一个 MFC 对话框应用程序. 这不会自动配备命令行参数.所以我去了到 MSDN 来刷新我对这些的记忆.MSDN 声明所有 C++ 程序具有 main() 或 wmain() 函数以及 argc 等参数到这里.我刚刚创建的应用程序没有这些. 显然有一个函数是应用程序的入口点,可以 ..
发布时间:2022-01-12 14:50:30 C/C++开发

使 MFC 应用程序国际化

我这里有几个大型 MFC 应用程序,将它们转换为任何其他格式是不可能的.我们正在向其他市场扩张,并希望使这些应用能够在其他语言和文化中运行. 到目前为止,我偶尔会找到关于如何处理 Visual C++ 版本 6 的参考资料,其中提到 MFC 的更高版本具有额外的相关功能.搜索 MSDN 为我提供了有关如何将应用程序转换为 Unicode 的说明,我们已经这样做了.我在 MSDN 上找不到任何 ..
发布时间:2022-01-12 14:50:10 C/C++开发

从 DLL 导出 MFC 对话框

7 月 21 日:更新,见底部 在 VC++ 2005 中,我有 2 个项目.首先,一个 MFC DLL 项目(不是扩展 DLL),它有一个简单的对话框: TestDlg.h #pragma once#include “afxwin.h"#include “资源.h"//CTestDlg 对话框命名空间对话框{类__declspec(dllexport)CTestDlg:公共CDia ..
发布时间:2022-01-12 14:49:04 C/C++开发

如何显示非模态 CDialog?

谁能告诉我如何在 MFC 的 Visual c++ 6.0 中创建一个非模态对话框并显示它?我写了这段代码: CDialog 对话框;if (dialog.init(初始化值...))对话框.DoModal(); 但它阻止我的应用程序显示对话框.我不知道是否有任何方法或其他方法可以做到这一点. 谢谢 解决方案 /* CChildDialog 类继承自 CDialog */CChi ..
发布时间:2022-01-12 14:47:51 C/C++开发

为什么 OnKeyDown 不捕获基于对话框的 MFC 项目中的关键事件?

我只是在 MFC (VS2008) 中创建了一个基于对话框的项目并将 OnKeyDown 事件添加到对话框中.当我运行项目并按下键盘上的键时,没有任何反应.但是,如果我从对话框中删除所有控件并重新运行项目,它就可以工作.即使对话框上有控件,我应该怎么做才能获取关键事件? 这是一段代码: void CgDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT ..
发布时间:2022-01-12 14:47:15 C/C++开发

vc++ - 如何将 CString 转换为 LPCWSTR

我试图这样做,但我没有找到任何方法.我问这个是因为我是 Windows 新手.我尝试了 stl-strings,但 Visual Studio 2008- 在 stl-wstring-handling 中积累了错误.稍后我会在其他问题上说很多关于这件事的内容.现在有人可以阐明这个问题吗? 解决方案 最简单的方法是使用 MFC 字符串转换宏,定义在: https:///docs.mic ..
发布时间:2022-01-12 14:47:05 C/C++开发

如何使用 Visual Studio 2012 和 Windows SDK 7.1 编译 VC++ 2010 项目

我在 C++ 中使用 VS2010 完成了很多项目.现在我们已经切换到 VS2012,但我们想继续使用 VS2010 运行时构建项目(我们需要支持 Windows XP). 据我们了解,这可以使用 Windows SDK 7.1 来实现,因为那里有 VC 编译器,所以我们安装了它.VS2012 识别了 SDK,现在我们有了一个名为 Windows7.1SDK 的 Platform Tools ..
发布时间:2022-01-12 14:46:30 C/C++开发

当我单击下拉菜单时,MFC 组合框控件未显示完整的项目列表

我在 MSVS 2008 中编写了一个应用程序,它有一个 ComboBox 控件,我通过如下代码对其进行初始化: static char* OptionString[4] = {"Opt1","选项 2","选项 3","选择4"};BOOL CMyAppDlg::OnInitDialog(){CDialog::OnInitDialog();//设置此对话框的图标.该框架会自动执行此操作//当应 ..

什么是无效,更新方法在 VC++ 中的作用

我对 c++ 中的窗口函数有一点怀疑."invalidate()" 函数到底是做什么的?它发送什么消息?我们什么时候需要调用它?"update()" 函数又是什么?"invalidaterect()" 是否与 "invalidate()" 功能类似? 谢谢 解决方案 CWnd::Invalidate() 使窗口的整个客户区无效,这表明该区域已过时,应重新绘制.您通常会在需要重绘的控件 ..
发布时间:2022-01-12 14:44:56 C/C++开发