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++等等。
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++等等。
pFrame->m_wndStatusBar.SetPaneText(1,"状态条1",TRUE);
pFrame->m_wndStatusBar.SetPaneText(2,"状态条2",TRUE);
第一二格都有显示。
第2个问题,大家给点指示。