| Цитата(Step @ 23.9.2004, 11:05) | | буду рад увидить пояснения как сделать статус бар для диалога.... не используя класса CFRAMEWND |
| Код | ///////////////////////////////////////////////////////////////////////////// // CAboutDlg dialog used for App About
class CAboutDlg : public CDialog { public: CAboutDlg(); CStatusBar m_wndStatusBar; ...
protected: //{{AFX_MSG(CAboutDlg) afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; ... BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) //{{AFX_MSG_MAP(CAboutDlg) ON_WM_CREATE() //}}AFX_MSG_MAP END_MESSAGE_MAP() ... static UINT indicators[] = { ID_SEPARATOR, // status line indicator ID_INDICATOR_CAPS, ID_INDICATOR_NUM, ID_INDICATOR_SCRL, }; int CAboutDlg::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CDialog::OnCreate(lpCreateStruct) == -1) return -1; // TODO: Add your specialized creation code here if (!m_wndStatusBar.Create(this) || !m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT))) { TRACE0("Failed to create status bar\n"); return -1; // fail to create } RECT rc; GetClientRect(&rc); m_wndStatusBar.SetWindowPos(NULL,0,rc.bottom-rc.top-16,rc.right-rc.left,16,SWP_NOZORDER); m_wndStatusBar.SetPaneText(0,"ENJOY!",true); return 0; } |
|