VC知识库 MSDN 杂志翻译项目组

MSDN Magazine Translation Team's Blog

  VC知识库BLOG :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 登录 ::
  61 随笔 :: 106 文章 :: 776 评论 :: 5 Trackbacks
<2008年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

留言簿(30)

随笔分类

随笔档案

文章分类

文章档案

MSDN MTT 相关链接

搜索

最新评论

阅读排行榜

评论排行榜

C++ At Work

在线杂志第47期有一篇专栏文章中描述了如何实现一个叫 CWebVersion 的类,用它可以存取网络上的某个文件来检查软件的版本,当版本过期后提示用户更新程序。该类实现使用 FTP 来下载文件,但有的站点 ISP 不允许使用匿名 FTP 连接,只能通过用户和口令登陆。那么能不能用 HTTP 来代替 FTP,将版本文件作为 Web 页面下载呢?
  本文还包含如何在基于 MFC 的应用程序中添加声音效果(不仅仅是用 MessageBeep 函数发出的蜂鸣声)。

全文阅读

发表于 2006-09-17 12:51 VCKBASE MSDN MTT 阅读(546) | 评论 (0)  编辑

在本文的第一部分(事件编程一),我回答了一个关于用 C++ 实现本机事件的问题。讨论了一般意义上的事件并示范了如何用接口为你的类定义事件处理器,事件的处理必须在客户机实现。我的实现有一些缺陷,我承诺过最终要解决掉,本文就来完成这件事情。
 

发表于 2006-04-09 17:57 VCKBASE MSDN MTT 阅读(695) | 评论 (0)  编辑

在微软 .NET 框架中可以定义托管类事件并用委托和 += 操作符处理这些事件。这种机制似乎很有用,那么在本机 C++ 中有没有办法做同样的事情?

发表于 2006-02-25 14:40 VCKBASE MSDN MTT 阅读(705) | 评论 (0)  编辑

1、我想调用 SetWindowsHookEx 来设置 WH_CBT 钩子,但我了解到 MFC 也安装了这个钩子,也就是在一个线程中安装了两次 WH_CBT,这样做能行吗?

2、我正在将一个现有的 C++ 类库转换为托管扩展,以便能在 .NET 框架客户端使用它们。我的代码调用了 API 函数,这些函数需要当前运行模块的 HINSTANCE。我不想使用我的 DLL 的 HINSTANCE;我想让调用者提供 EXE 的 HINSTANCE,该 EXE 调用我的 DLL。我能将 HINSTANCE 声明为一个 IntPtr,但我的基于 .NET 的客户端如何让应用程序的 HINSTANCE 传递给我的函数?在 C# 中是如何做的?

3、我要如何将 MFC CString 转换为托管 C++ 中的 String?我有一个函数是这样的:
int ErrMsg::ErrorMessage(CString& msg) const
{ ......}

发表于 2006-01-01 12:25 VCKBASE MSDN MTT 阅读(779) | 评论 (0)  编辑

1、有没有方法创建一个半透明的窗口,并将该窗口上发生的所有鼠标事件都传递到桌面或另一个应用窗口处理?

2、我正在写一个幻灯显示程序,该程序要显示JPEG图像序列。我使用了 2002年三月刊专栏文章中的 CPicture 类来绘制图像(参见:C++ Q&A: Do You Have a License for that GIF? PreSubclassWindow, EOF in MFC, and More)。那个程序运行得很好。但我现在想添加从某一张图像到下一张图像的渐变特性。我在网页中用转换效果可以做到。那么是否有办法从程序代码中实现图像渐变特性?

发表于 2005-11-24 10:02 VCKBASE MSDN MTT 阅读(773) | 评论 (0)  编辑

发表于 2005-11-12 12:20 VCKBASE MSDN MTT 阅读(870) | 评论 (0)  编辑

1、在 2005 年一月刊的 MSDN 杂志文章中,你有一个例子程序的代码是用混合模式编写的。有没有可能动态加载 .NET 类或 DLL 并调用那些函数呢?假设我有一个本机 C++ 应用程序,我想允许用户在 .NET 中为该 C++ 程序编写插件。就像在 .NET 中使用 LoadLibrary 加载 DLLs 一样。

2、我正在用 Visual C++ 6.0 编写一个插件应用,它是一个 DLL,输出和接收纯虚拟接口指针。加载 DLL 后,EXE 便调用 DLL 中输出的 C 函数,该函数返回一个纯虚拟接口指针。然后 EXE 调用该接口上的方法,有时会传回另一个接口指针给 DLL 处理。
  目前有人要求必须用 C#,Visual Basic .NET 和其它语言编写插件。我没有什么基于 .NET 的编程经验,不懂托管和非托管代码之间的通讯问题,我找到许多有关这方面的信息,但是越看越糊涂。我如何才能让用户编写基于.NET 语言的插件?

发表于 2005-09-27 19:52 VCKBASE MSDN MTT 阅读(900) | 评论 (0)  编辑

1、我有一个简单的 C++ 问题。我想让我的拷贝构造函数和赋值操作做同样的事情。你能告诉我最佳实现方法吗?
2、你能告诉我如何从 C# 中调用 Visual C++ 类,对此我需要什么样的语法?

发表于 2005-09-09 10:02 VCKBASE MSDN MTT 阅读(874) | 评论 (0)  编辑

  我想用 MFC 和 C++ 创建一个基于对话框的程序(主窗口本身是个对话框)。我不想使用资源(.rc)文件,而是想在内存中动态创建对话框。我在 MSDN 中找到一些线索,但没有发现代码例子。我了解到 DLGTEMPLATE 和 DLGITEMTEMPLATE 结构以及 InitModalIndirect 函数或许可以用来创建模式对话框,但我不知道从何入手。请问如何不依赖资源文件动态创建对话框?

  我最近要写一个正则表达式的 DDV 确认程序,正巧你写了一个(参见 2005 四月刊)。想知道为什么你要包装 .NET 库,这样无端地添加了许多依赖性(包装库累赘),为什么不用 Visual Studio .NET 里现成而简洁的正则表达式库,你只要包含一个头文件便可以在你的 MFC 程序中使用它,atlrx.h?虽然它不是百分百标准的语法,但我宁愿用它而不愿添加对 .NET 框架的依赖。

发表于 2005-08-31 11:13 VCKBASE MSDN MTT 阅读(863) | 评论 (0)  编辑

我读过了您2005年4月的文章:“Wrappers: Use Our ManWrap Library to Get the Best of .NET in Native C++ Code”,文章中没有提供 DumpEnum 程序。请问从哪里能得到它?

给定某个 .NET 框架类的名字,如 MenuItem 或窗体的名字,有没有办法知道是哪个程序集包含着该类?

我正在用一个基于模板的库源代码,该库包含一些针对特定类型的模板函数特化。类模板,函数模板和模板函数特化都在头文件中。我在我的.cpp文件中 #include 头文件并编译链接工程。但是为了在整个工程中使用该库,我将头文件包含在 stdafx.h 中,结果出现特化模板函数的符号多重定义错误。我要如何组织头文件才能避免多重符号定义错误?我用 /FORCE:MULTIPLE,但我想用一个更好的解决方法。

发表于 2005-08-26 14:11 VCKBASE MSDN MTT 阅读(911) | 评论 (0)  编辑

显示全部 C++ At Work 文档