首先class CMyView : public CFormView
然后在上面创建按钮加载不同状态,别人做好的程序运行正常,而我拿过来用时,运行时跳出"无可用资源"两次,为什么会这样,还需要增加什么定义吗?
void CMyView::OnInitialUpdate()
{
if (!button_start.LoadBitmaps(_T("CJ_START_UP"), _T("CJ_START_DOWN"), _T("CJ_START_FOCUS"),_T("CJ_START_DISABLE")))
{
TRACE0("Failed to load bitmaps for buttons\n");
AfxThrowResourceException();
}
VERIFY(button_start.SubclassDlgItem(IDC_BUTTON_START, this));
button_start.SizeToContent();
button_start.EnableWindow(m_b_start); if (!button_end.LoadBitmaps(_T("CJ_END_UP"), _T("CJ_END_DOWN"), _T("CJ_END_FOCUS"),_T("CJ_END_DISABLE")))
{
TRACE0("Failed to load bitmaps for buttons\n");
AfxThrowResourceException();
}
VERIFY(button_end.SubclassDlgItem(IDC_BUTTON_END, this));
button_end.SizeToContent();
button_end.EnableWindow(m_b_end); CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();}当我把_T和双引号,刮号删去,运行时才正常,和别人程序里用上面的代码出来的效果相同,为什么呢?如果按照上面的写法需要增加什么说明吗? if (!button_start.LoadBitmaps(CJ_START_UP, CJ_START_DOWN, CJ_START_FOCUS,CJ_START_DISABLE))
if (!button_end.LoadBitmaps(CJ_END_UP, CJ_END_DOWN, CJ_END_FOCUS,CJ_END_DISABLE))
我查找了下_T的用法,别人是这样说的
Visual C++里边定义字符串的时候,用_T来保证兼容性,VC支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。 
如果将来你不打算升级到unicode,那么也不需要_T,不知道别人程序里用到_T是什么作用?
才刚学看别人程序,问的有些乱希望大家指导,谢了