无法在MFC Visual .NET 2008中初始化滑块控制变量

时间:2014-10-24 19:10:17

标签: variables mfc visual-studio-2008

我在MFC Visual .NET 2008中创建了一个普通的Vertical Slider变量。当我尝试通过以下代码行初始化Slider控件变量时,我称之为“m_VSliderBar

m_VSliderBar.SetRange(0, 100, TRUE);
m_VSliderBar.SetPos(0);
m_VSliderEcho.Format("%d", 0);

然后输出以下错误:

error C2664: 'void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)' : cannot convert parameter 1 from 'const char [3]' to 'const wchar_t *'

我不明白这个错误。有人可以帮我正确编译代码吗?

1 个答案:

答案 0 :(得分:1)

你显然有一个Unicode版本。试试这个:

m_VSliderEcho.Format(_T("%d"), 0);

错误消息告诉您Format函数需要wchar_t参数(即16位字符,这意味着Unicode),并且您提供了一个ANSI字符串。 _T()宏会根据您的项目属性将正确的修饰符添加到文字字符串中。

因此对于Unicode构建,这将转换为;

m_VSliderEcho.Format(L"%d", 0);