1. C++ / Говнокод #5324

    +174

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    BOOL CAnalysisWindow::OnControlStatus(void* msg)
    {
      TypeControlStatus* ControlStatus = (TypeControlStatus*)msg;
    
      if (ControlStatus->Total > 12)
      {
        m_ProgressBar.ShowWindow(0);
        m_ProgressBar2.ShowWindow(0);
        ...
        m_ProgressBar12.ShowWindow(0);
      }
      else
      {
        m_ProgressBar.ShowWindow(ControlStatus->Total > 0);
        m_ProgressBar2.ShowWindow(ControlStatus->Total > 1);
        ...
        m_ProgressBar12.ShowWindow(ControlStatus->Total > 11);
      }
    
      if (ControlStatus->Current == 1)
      {
        m_ProgressBar.SetRange(0, ControlStatus->Total);
      }
      m_ProgressBar.SetPos(ControlStatus->Current);
    
      if (ControlStatus->Current == 2)
      {
        m_ProgressBar2.SetRange(1, ControlStatus->Total);
      }
      m_ProgressBar2.SetPos(ControlStatus->Current);
    
      ...
    
      if (ControlStatus->Current == 12)
      {
        m_ProgressBar12.SetRange(11, ControlStatus->Total);
      }
      m_ProgressBar12.SetPos(ControlStatus->Current);
    
      return TRUE;
    }

    Как сделать прогресс бар c 12-ю делениями? Ответ прост: воспользоваться 12-ю прогресс барами, по одному на каждое деление.
    Самое интересное, как отрисовывается общий прогресс на 12 маленьких прогресс барах.

    Запостил: Shumway, 18 Января 2011

    Комментарии (21) RSS

    Добавить комментарий