干掉你的状态条(Not no statusbar)!!!
疑问:干掉状态条之后,操作提示信息显示在哪?
答曰:自己造一个。
开工--------
-----------------------------------------------------------------------------
把你的MainFrame里的
CStatusBar m_wndStatusBar
改为
CEdit m_wndStatusBar
然后,深入MainFrame::OnCreate函数-------
将类似下面的状态条创建语句
if (!m_wndStatusBar.Create(this,CBRS_TOPWS_CHILDWS_VISIBLE,AFX_IDW_STATUS_BAR )
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar");
return -1; // fail to create
}
改成
if (!m_wndStatusBar.Create(ES_READONLY CBS_AUTOHSCROLL WS_CHILD, CRect(0, 0, 200, 18),this,AFX_IDW_STATUS_BAR))//注意是IDW_STATUS_BAR
{
TRACE0("Failed to create CEditstatusBar");
return -1; // fail to create
}
为了使其显示,我又做了一个
CReBar m_wndReBar,
m_wndReBar.Create(this);之后
利用m_wndReBar.AddBar(&m_wndStatusBar);
把“状态条”显示在ReBar里,后面的我也没有进行修饰、、
如果你不创建ReBar将不能使CEditStatus显示...
----------------------------------------------------
大功告成:)自制的简易状态条做成了,你还可以自己继承CEdit实现漂亮的状态条、还可以使用CComBox、CRichEditCtrl、CStatic等等,总之是依靠WM_SETTEXT显示文字的控件都可以。
道理?status是接收mainframe的WM_SETTEXT消息显示状态.我们模拟一个就OK!