1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Не появляется окно состояния в диалоговом окне

Тема в разделе "MS Visual C++", создана пользователем Ren, 27 дек 2007.

Статус темы:
Закрыта.
  1. Ren

    Ren Гость

    Репутация:
    0
    Создал диалог. Переопределил OnCreate. Создал Обьект Панели состояния m_wndStatusBar. Но она не появляестя. ПОЧЕМУ?
    Код:
    int CTestDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
    {
    m_wndStatusBar.Create(this);
    CRect textRect;
    CClientDC aDC(&m_wndStatusBar);
    aDC.SelectObject(m_wndStatusBar.GetFont());
    aDC.DrawText(_T(" отображения:99"),-1,textRect,DT_SINGLELINE|DT_CALCRECT);
    int width = textRect.Width();
    m_wndStatusBar.GetStatusBarCtrl().SetParts(1,&width);
    m_wndStatusBar.GetStatusBarCtrl().SetText(_T("Масштаб отображения:1"),0,0);
    return 0;
    }
    :lol:
     
  2. grigsoft

    grigsoft Well-Known Member

    Репутация:
    0
    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    Статус в диалоге просто так не работает. Посмотри в примерах MFC - там есть пример с тулбаром и статусом в диалоге.
     
  3. SunSanych

    SunSanych Well-Known Member

    Репутация:
    0
    Регистрация:
    28 июн 2006
    Сообщения:
    71
    Симпатии:
    0
    А у меня получилось вот так:

    Код:
    int CTestDlg::OnCreate(LPCREATESTRUCT lpCreateStruct) 
    {
    if (CDialog::OnCreate(lpCreateStruct) == -1)
    return -1;
    
    CRect r;
    GetClientRect(&r);
    int width[2] = {r.Width()/2, -1};
    
    BOOL rez = m_wndStatusBar.Create(WS_CHILD | WS_VISIBLE | CBRS_BOTTOM, r, this, AFX_IDW_STATUS_BAR);
    
    m_wndStatusBar.SetParts(2,width);
    m_wndStatusBar.SetText(_T("Масштаб отображения:1"),0,0);
    m_wndStatusBar.SetText(_T("Масштаб отображения:2"),1,0);
    
    return 0;
    }
    m_wndStatusBar обект класса CStatusBarCtrl а не CStatusBar.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей