我在vc6.0中动态添加菜单代码如下,vs2010中不行。
我在vc6.0中动态添加菜单是正确的,但是在vs2010中却出现问题,这两个有什么不一样吗?CMenumen;men.CreateMenu();GetMenu()->Ap...
我在vc6.0中动态添加菜单是正确的,但是在vs2010中却出现问题,这两个有什么不一样吗?
CMenu men;
men.CreateMenu(); GetMenu()->AppendMenu(MF_POPUP,(UINT)men.m_hMenu,"test"); men.Detach(); 展开
CMenu men;
men.CreateMenu(); GetMenu()->AppendMenu(MF_POPUP,(UINT)men.m_hMenu,"test"); men.Detach(); 展开
1个回答
展开全部
什么问题呢?
是编译不通过还是运行不正常?
能不能将问题描述的再清楚点呢?该交代的信息也应该一并写出来 。。。
我估计问题出在
GetMenu()->AppendMenu(MF_POPUP,(UINT)men.m_hMenu,"test");
在VC6中,函数接口入口参数一般都是char *
而在VS2010中,因为定义了Unicode,所以参数的类型都变成了wchar, 你将上述的改为
GetMenu()->AppendMenu(MF_POPUP,(UINT)men.m_hMenu, _T("test") );
看清楚了是
"test" 改成 _T("test")
是编译不通过还是运行不正常?
能不能将问题描述的再清楚点呢?该交代的信息也应该一并写出来 。。。
我估计问题出在
GetMenu()->AppendMenu(MF_POPUP,(UINT)men.m_hMenu,"test");
在VC6中,函数接口入口参数一般都是char *
而在VS2010中,因为定义了Unicode,所以参数的类型都变成了wchar, 你将上述的改为
GetMenu()->AppendMenu(MF_POPUP,(UINT)men.m_hMenu, _T("test") );
看清楚了是
"test" 改成 _T("test")
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询