找到状态栏的特定位置创建一个静态框:
CWnd * pWnd = CWnd::FromHandle(hWnd); // 取主窗口
CStatusBar * pStatusBar = (CStatusBar * )pWnd -> GetDescendantWindow(AFX_IDW_STATUS_BAR);
CStatusBarCtrl * pStatusCtr = & pStatusBar -> GetStatusBarCtrl();
// int pParts[2];
// int iParts = pStatusCtr->GetParts(2, pParts);
CRect rect;
// pStatusCtr->GetRect(iParts-1, &rect);
pStatusCtr -> GetClientRect(rect);
rect.DeflateRect( 760 , 2 , 15 , 2 );
hWnd = ::CreateWindow( _T( " static " ), _T( "" ), WS_CHILD | WS_VISIBLE | SS_LEFT | SS_SUNKEN,
rect.left, rect.top, rect.Width(), rect.Height(), pStatusCtr -> GetSafeHwnd(), (HMENU)(UINT_PTR) 65535 , 0 , 0 );
m_sStatic.SubclassWindow(hWnd);
m_sStatic.SetFont(pStatusCtr -> GetFont());
CWnd * pWnd = CWnd::FromHandle(hWnd); // 取主窗口
CStatusBar * pStatusBar = (CStatusBar * )pWnd -> GetDescendantWindow(AFX_IDW_STATUS_BAR);
CStatusBarCtrl * pStatusCtr = & pStatusBar -> GetStatusBarCtrl();
// int pParts[2];
// int iParts = pStatusCtr->GetParts(2, pParts);
CRect rect;
// pStatusCtr->GetRect(iParts-1, &rect);
pStatusCtr -> GetClientRect(rect);
rect.DeflateRect( 760 , 2 , 15 , 2 );
hWnd = ::CreateWindow( _T( " static " ), _T( "" ), WS_CHILD | WS_VISIBLE | SS_LEFT | SS_SUNKEN,
rect.left, rect.top, rect.Width(), rect.Height(), pStatusCtr -> GetSafeHwnd(), (HMENU)(UINT_PTR) 65535 , 0 , 0 );
m_sStatic.SubclassWindow(hWnd);
m_sStatic.SetFont(pStatusCtr -> GetFont());
/对静态框重写:
class
CScrollStatic :
public
CStatic
... {
public:
CScrollStatic()
: m_iExtend(0)
, m_strText(_T(""
... {
public:
CScrollStatic()
: m_iExtend(0)
, m_strText(_T(""