for-不存在从CString到HWND的适当转换函数,VS2012老是这么报错

问题描述

不存在从CString到HWND的适当转换函数,VS2012老是这么报错
代码如下:
void jimofang(int n)
{
int i;

int a[15][15];

int colrow;
CString m_strtmp;
col=(n-1)/2;
row = 0;
a[row][col]=1;
for(i=2;i<=n*n;i++)
{
if((i-1)%n==0 )
{row++;
}
else
{

row--;
row=(row+n)%n;

col++;
col%=n;
}
a[row][col]=i;
}
for(i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
tmp.Format(_T(""%d"")a[i][j]);
m_str+=tmp;
m_str+="" "";
}
m_str+=""nr"";
m_str+=""nr"";
}
MessageBox(m_str);

}

解决方案

MessageBox的用法不对
http://zhidao.baidu.com/link?url=soym3bSIt3NAVMHulHurgxLfFbEBBoZkLro6Cf_wGw0lfVq4kvT-G-vNmfFGEbq-VUB53fxzd0csfmdIZDTpQ_

解决方案二:
您能给具体点的建议吗?不太难明白知道上的那个语句,楼主刚开始学vc。。。LZ。。。

解决方案三:
cstringgenhwnd两个类型没法之间转换

解决方案四:
你的问题是m_str是unicode
所以加字符串的时候要加标示。
m_str += _T(""rn"");

时间: 2024-12-26 18:07:07

for-不存在从CString到HWND的适当转换函数,VS2012老是这么报错的相关文章

visual studio-关于MFC问题报错,TCHAR*类型的实参与 HWND类型的形参不兼容

问题描述 关于MFC问题报错,TCHAR*类型的实参与 HWND类型的形参不兼容 刚刚接触MFC,声明了TCHAR类型的chBuf[ ],MessageBox(chBuf)这句代码在别人的程序里是对的,我的VS就会报错,显示"TCHAR * 类型的实参与 HWND类型的形参不兼容".这是为什么啊?求大神指教~ 解决方案 const char*类型的实参与LPCTSTR类型的形参不兼容 MFC"char *"类型的实参与"LPCTSTR"类型的形参

CString、CTime和COleDateTime转换

COleDateTime.CTime--->CString 这个方法很简单,用Format格式化一个字符串就可以了,详见MSDN CString--->COleDateTime: 方法1:COleDateTime::ParseDateTime() CString strDate = _T("1987-06-21");COleDateTime oleDate;oleDate.ParseDateTime(strDate, VAR_DATEVALUEONLY); 方法2:COle

怎样在VC++中访问和修改注册表

Windows95/98/Me的注册表包含了Windows95/98/Me的系统配置.PC机的硬件配置.Win32应用程序和用户的其他设置信息.注册表和INI文件不同,它是多层次的树状数据结构,具有六个分支(根键),每个分支又由许多的键和键值组成,而每个键则代表一个特定的配置项目. 在实际编程工作中,我们遇到了如何在Visual C++中对Windows95/98/Me注册表整个树状结构信息进行访问和修改的问题,如查询和修改注册表中用户姓名和公司名称的有关信息.通过编程实践,我们实现了在Visu

c++-C++API函数的重定义。编译无法通过的问题。

问题描述 C++API函数的重定义.编译无法通过的问题. 在一个生成dll的C++工程,头文件Local.h中,有如下代码: DLL IMPORT WORD WINAPI PrintScreen(HWND,WORD,WORD,WORD,LPSTR,BOOL) 在c文件中也是调用的这个6各参数的函数.但是编译的时候,由于在系统API:winuser.h中,有一个3各参数的同名函数,PrintScreen,导致编译提示重定义.无法编译通过. 我想问一下,在本地中定义的这种跟系统api同名的函数,算是

vs2012小问题-VS2012编译不报错,但是单步调试的时候查看变量值,显示这个变量是未声明的标识符

问题描述 VS2012编译不报错,但是单步调试的时候查看变量值,显示这个变量是未声明的标识符 void CGPRS2012Dlg::OnOncommMscomm1() { // TODO: 在此处添加消息处理程序代码 Sleep(300); VARIANT variant_inp; COleSafeArray safearray_inp; CString strtemp; long len,k; byte rxdata[1000]; for (int i=0;i<1000;i++) { rxda

struct-数组赋值和结构体中的数组赋值问题

问题描述 数组赋值和结构体中的数组赋值问题 typedef struct _Teacher{ char name[20]; int age; }Teacher; void main(){ Teacher t1; t1.age=20; t1.name="abc";//报错为什么? char name[20]="abc";//不报错 } 求大牛给个详细的解释,对于abc C++编译器是如何处理的?是分配内存放在全局区,还是当做字面值 解决方案 首先,其实你是忘记了C++

CString和char* 类型转化

CString 是一种很有用的数据类型.它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多. 不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习. 1.CString 转化 成 char*(1) -- 强制类型转换为 LPCTSTR 这是一种略微硬性的转换,我们首先要了解 CString 是一种很特殊的 C++ 对象,它里面包含了三个值:一个指向某个数据缓冲区的指针.一个是该缓冲中有效的字符记数以及一个缓冲区长度. 有

listbox-在VS2010,Unicode字符集环境下,如何将float类型转换成CString类型?

问题描述 在VS2010,Unicode字符集环境下,如何将float类型转换成CString类型? 用format不好使,求指导 或者这样也可以,我想用sprintf函数将几个浮点型的数输入到一个char类型的数组中,然后将该数组转换成LPCTSTR格式,这样才能够插入LISTBOX 控件中,感觉太麻烦,有没有什么好的办法?相关代码如下: char Ana[50];int num=8;float tcost=1.0394;float tpsnt=33.244;sprintf(Anaaa"&qu

图片-CString 初始化的问题

问题描述 CString 初始化的问题 写了个MFC MyDlg.cpp中任意方法内如下初始化Cstring不会报错: CString catalogPath(_T("""")); 但是在MyDlg.H文件中MyDlg类public内初始化报错: CString catalogPath(_T("""")); 位置是"_"处,这就不太明白了,求解释 解决方案 你这是类定义里面不能直接初始化吧