CTabCtrl得到每页的标题有关问题
CTabCtrl得到每页的标题问题!
得到标题的函数为
CString GetTabTitle1( int i)//i为CTabCtrl所选中页码
{
LPTCITEM pitem =NULL;
pitem =(LPTCITEM) new LPTCITEM;
TCHAR szBuf[256] ={0};
pitem-> mask =TCIF_TEXT;
pitem-> pszText =szBuf;
pitem-> cchTextMax= sizeof(szBuf)/sizeof(TCHAR);
m_Tab.GetItem( i, &pitem);//CTabCtrl m_Tab
pitem =NULL;
delete pitem;
return szBuf;
}
CString GetTabTitle2( int i)
{
TCITEM pitem;
TCHAR szBuf[256] ={0};
pitem.mask =TCIF_TEXT;
pitem.pszText =szBuf;
pitem.cchTextMax= sizeof(szBuf)/sizeof(TCHAR);
m_detailTab.GetItem( i, &pitem);
return szBuf;
}
函数GetTabTitle1,GetTabTitle2在Debug下调试运行都没问题。但直接运行exe是GetTabTitle1出现内存不可读的错误,GetTabTitle2没有问题。我知道是指针的问题,但有不是很明白,请高人指点!
------解决方案--------------------
pitem =(LPTCITEM) new TCITEM;
得到标题的函数为
CString GetTabTitle1( int i)//i为CTabCtrl所选中页码
{
LPTCITEM pitem =NULL;
pitem =(LPTCITEM) new LPTCITEM;
TCHAR szBuf[256] ={0};
pitem-> mask =TCIF_TEXT;
pitem-> pszText =szBuf;
pitem-> cchTextMax= sizeof(szBuf)/sizeof(TCHAR);
m_Tab.GetItem( i, &pitem);//CTabCtrl m_Tab
pitem =NULL;
delete pitem;
return szBuf;
}
CString GetTabTitle2( int i)
{
TCITEM pitem;
TCHAR szBuf[256] ={0};
pitem.mask =TCIF_TEXT;
pitem.pszText =szBuf;
pitem.cchTextMax= sizeof(szBuf)/sizeof(TCHAR);
m_detailTab.GetItem( i, &pitem);
return szBuf;
}
函数GetTabTitle1,GetTabTitle2在Debug下调试运行都没问题。但直接运行exe是GetTabTitle1出现内存不可读的错误,GetTabTitle2没有问题。我知道是指针的问题,但有不是很明白,请高人指点!
------解决方案--------------------
pitem =(LPTCITEM) new TCITEM;