求教:一个奇怪的状态栏的问题
好久没有写VC界面的东西了,昨天加给一个程序加一个状态栏结果在执行以下语句时会出现异常弹框。
m_wndStatusBar.SetPaneText(m_wndStatusBar.CommandToIndex(ID_SERVICE_SESSION_NUM),(LPCTSTR)strServiceCount,TRUE);
strServiceCount 为CString类型
ID_SERVICE_SESSION_NUM 是一个String Table中的值,
状态栏的创建和显示都没有问题,但执行上面语句刷新
状态栏中的文本时会出现异常弹框现象。
我Debug下看了一下,是CommandToIndex函数出现问题:
int CStatusBar::CommandToIndex(UINT nIDFind) const
{
ASSERT_VALID(this); //在这里弹框
if (m_nCount <= 0)
return -1;
AFX_STATUSPANE* pSBP = _GetPanePtr(0);
for (int i = 0; i < m_nCount; i++, pSBP++)
if (pSBP-> nID == nIDFind)
return i;
return -1;
}
请教一下是什么问题呢?
[解决办法]
m_wndStatusBar.SetPaneText(m_wndStatusBar.CommandToIndex(ID_SERVICE_SESSION_NUM),(LPCTSTR)strServiceCount,TRUE);
你的这一句是放在什么地方的?