C/C++
timesong
这个作者很懒,什么都没留下…
展开
-
解决引入本地类型而导致C3767错误的方法
以下代码编译时产生C3767的错误:// 在lib1.dll中包含以下两个文件// def.htypedef struct _STU{ int type; ...} STU;// my.cpp1 #include "def.h"2 3 namespace MySpace4 {5 public ref class MyClass6 {7原创 2006-11-08 18:12:00 · 1791 阅读 · 0 评论 -
在C++/CLI的本地类中包含托管类成员变量的方法
使用gcroot可以实现在 C++/CLI的本地类中包含托管类成员变量,示例代码如下:#include // 必须包含vcclr.h头文件//test.husing namespace System::Data;class native{public: native() { m_pConn = gcnew gcroot; //这里应该是为gcroot分配存原创 2006-11-08 17:54:00 · 1487 阅读 · 0 评论 -
System::String向CString转换效率最高的方法
关于String::String向CString转换,在http://support.microsoft.com/kb/311259中介绍了三种转换的方法,经过实际测试,采用以下方法的效率是最高的://using namespace System::Runtime::InteropServices;System::String^ str = "A test string.";char* str2原创 2006-11-13 18:04:00 · 2923 阅读 · 0 评论 -
封装原有C++程序为可引用的.NET组件的方法
随着应用要求的不断提出,现有一套使用MFC开发的系统急需升级到.NET已扩展功能。但是,在画面处理、数据访问、报表处理方面,MFC与.NET都有一套实现的方法,想对原有这部分的处理功能提出来抽象出接口,用MFC与.NET分别实现之,达到完全继承原有功能并能拓展新功能的需求。具体的处理方法如下:1. 新建MFC的DLL,导入需要处理的源程序,并 编译通过;2. 修改Project的属性设置,使其原创 2006-11-13 18:45:00 · 1615 阅读 · 0 评论 -
用gcroot定义托管类型的全局变量
托管对象是不能定义成全局变量来访问的,解决这个问题的办法依然是gcroot ,代码如下:gcroot* g_pMyClass = new gcroot;void CreateMyClass(){ *g_pMyClass = gcnew MyClass(); // *g_pMyClass得到的是IMyClass类型的追踪句柄}void main() { CreateMyClass()原创 2006-11-14 16:22:00 · 10994 阅读 · 0 评论 -
System::Drawing::Bitmap向CBitmap转换的方法
在C++/CLI编程时,想使用Drawing名空间下的Bitmap类来支持多种图像格式的处理,由于画面上的显示接口使用的是MFC下的CBitmap。需要通过一段代码来完成转换,例子代码如下:System::Drawing::Bigmap^ bmp = gcnew System::Drawing::Bigmap(filename);HBITMAP hBmp = (HBITMAP)bmp->GetHb原创 2006-11-22 15:56:00 · 2335 阅读 · 2 评论 -
升级MFC到.NET之一:CFont转换为Font
原因:MFC下的CFont类型提供了对Windows下字体操作的封装,现有MFC项目的逻辑部分把创建好的CFont传递给画面来进行显示,所以在把CWnd类型的画面转换为Form类型后,需要将CFont类型转换为Drawing::Font类型来设置Form画面的字体。解决方法:利用CFont的GetLogFont方法能够获取字体的逻辑结构,Drawing::Font也具有一个FromLogFont的原创 2006-12-13 11:07:00 · 3798 阅读 · 0 评论 -
用VC实现DoEvents
VB下有一个DoEvents方法,可以让程序在执行操作的同时仍可以处理其他事件,用这个方法可以有效地解决画面无法刷新的问题。VC下的DoEvents版本的代码如下:MSG msg;while (PeekMessage(&msg, (HWND)NULL, 0, 0, PM_REMOVE) ) { TranslateMessage(&msg); DispatchMessage(&msg)原创 2006-12-15 14:56:00 · 4932 阅读 · 1 评论