1.状态条索引值为0的段不能初始化的问题。我试图在CApp类的初始化函数InitInstance()里对状态条索引为0的段SetPaneText(),但无效。而其它索引号的SetPaneText()又可以。为什么?在InitInstance()里加的代码如下:
CMainFrame *pFrame=(CMainFrame *)AfxGetMainWnd();
UINT uID[6]={ID_SEPARATOR,ID_SEPARATOR,ID_SEPARATOR,ID_SEPARATOR,ID_SEPARATOR,ID_SEPARATOR};
pFrame->m_wndStatusBar.SetIndicators(uID,6);
pFrame->m_wndStatusBar.SetPaneInfo(0,ID_SEPARATOR,SBPS_NOBORDERS,200);
pFrame->m_wndStatusBar.SetPaneInfo(1,ID_SEPARATOR,SBPS_NORMAL,100);
pFrame->m_wndStatusBar.SetPaneInfo(2,ID_SEPARATOR,SBPS_NOBORDERS,10);
pFrame->m_wndStatusBar.SetPaneInfo(3,ID_SEPARATOR,SBPS_NORMAL,150);
pFrame->m_wndStatusBar.SetPaneInfo(4,ID_SEPARATOR,SBPS_NOBORDERS,10);
pFrame->m_wndStatusBar.SetPaneInfo(5,ID_SEPARATOR,SBPS_NORMAL,200);
pFrame->m_wndStatusBar.SetPaneText(0,"状态条0",TRUE);
pFrame->m_wndStatusBar.SetPaneText(1,"状态条1",TRUE);
执行上述代码,索引为1的则显示“状态条1”,索引为0的不显示。
2.运算符重载问题。成员函数重载比非成员函数重载可以少一个形参,想知道参数是怎么对应传递的,例如:a+b假设要重载+运算符,那么a,b哪个是实参。有如:++a,a++等等。

解决方案 »

  1.   

    你将状态条的所有ID都设成一个,应该不行吧。这样系统无法区分是那一块。如果你的程序中,再加个pFrame->m_wndStatusBar.SetPaneText(2,"状态条2",TRUE);会不会只有第二格显示,而前面两个都没有呢?
      

  2.   

    UINT uID[6]={ID_SEPARATOR,ID_SEPARATOR,ID_SEPARATOR,ID_SEPARATOR,ID_SEPARATOR,ID_SEPARATOR};有问题吧?
      

  3.   

    pFrame->m_wndStatusBar.SetPaneText(0,"状态条0",TRUE);
    pFrame->m_wndStatusBar.SetPaneText(1,"状态条1",TRUE);
    pFrame->m_wndStatusBar.SetPaneText(2,"状态条2",TRUE);
    第一二格都有显示。
    第2个问题,大家给点指示。