VC++ 使用大漠DLL笔记

1.绑定窗口时的类型转换
	int away;
	HWND wnd;
	CString fifteen;
	long Di;

	wnd=::FindWindow(L"Notepad",NULL);

	fifteen.Format(L"%d",wnd);//HWND转CString
		
	Di=_tstol((LPCTSTR)fifteen);  //CString转long

	away=dm.BindWindow(Di,L"normal",L"normal",L"normal",0);

	TRACE(L" 记事本还开着 ");

窗口句柄处的数据类型是Long用FindWindow()API函数获取的窗口句柄是HWND类型,目前能想到的方法就是把HWND类型先转换成CString类型,再把CString类型转为long型。


2.字符串类型选择问题

在MFC工程下字符串类型最好选择CString或者C++的string。此二者相互转换起来比较方便。在想使用string类型需要先导入头文件:

#include <string>

然后可以

using namespace std;

一次性把命名空间中的内容全部导出,这有违命名空间设立的初衷,容易导致混淆,特别是把这句话放入.h头文件后,如果其他.cpp文件也引用此.h文件会出现命名冲突。安全的方法是声明类型时:

std::string pBuff; 

这样就声明了一个string类型。

然后用string类型声明一个二维数组用于A星算法作为二维地图

	     std::string pBuff[11][7] ={  
			 {"0","*","0","0","0","0","0"},
			 {"0","0","0","0","0","0","0"},
			 {"0","0","0","0","0","0","0"},
			 {"0","0","0","0","0","0","0"},
			 {"0","0","0","0","0","0","0"},
			 {"0","0","0","0","0","0","0"},
			 {"0","0","0","0","0","0","0"},
			 {"0","0","0","0","0","0","0"},
			 {"0","0","0","0","0","0","0"},
			 {"0","0","0","0","0","0","0"},
			 {"0","0","0","0","0","0","0"},

	}; 

然后是string与CString类型之间的转换问题。

string转CString:

CString mistakes;

mistakes=pBuff[0][1].c_str();  //string转CString



猜你喜欢

转载自blog.csdn.net/l198738655/article/details/79766437
今日推荐