2 / 2 / 0
Регистрация: 07.04.2016
Сообщений: 248
1

wxWidgets и scrollBar

10.04.2023, 23:54. Показов 1959. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Давно не писал, пора исправить ситуацию )

И снова здравствуйте )

Имеем:
1. wxwidgets 3;
2. windows 10;
3. компилятор mingw64 (msys2);
4. paintDC;
5. прокрутка или scrollBar.

Цель:
Сделать панель в которой рисуется график(пародия на синусоиду), эта панель вставляется в любое место какого-нибудь окна.
У этого графика внизу должна быть полоса прокрутки, сдвигая которую, смещается график, т.е. можно посмотреть какой график был в самом начале.

Что опять не так:
Не понял как получить на сколько сдвинулся ползунок в полосе прокрутки.

Вопрос:
Как сделать то что в "Что опять не так:" ?

Что делал:
часть кода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
class Graph : public wxScrolledWindow {
    private:
        int m_widthSpace;
        int m_heightSpace;
        int m_lengthInPixels;
        int m_middleY;
        int m_visiblePoints;
        int m_offsetX;
        wxPoint m_arrayWxPoints [200];
        ProgramWindow* m_parent;
 
 
    public:
        Graph (wxPanel* aParentPanel, ProgramWindow* aParent)
                : wxScrolledWindow (aParentPanel, wxID_ANY, wxDefaultPosition, wxSize (-1, 800), wxHSCROLL) {
            this->SetScrollbars (1000, 10, 10, 10);
 
            this->SetBackgroundColour (wxColor ("WHITE"));
            m_parent = aParent;
            m_lengthInPixels = 10;
 
            // Для графика:
            for (int i = 0, q = 0; i < 200; ++i) {
                m_arrayWxPoints [i].x = q;
                q += m_lengthInPixels;
                m_arrayWxPoints [i].y = 0;
            }
 
            Bind (wxEVT_PAINT, &Graph::drawGraph, this);
            Bind (wxEVT_SIZE, &Graph::refreshSize, this);
        }
 
    public:
        void drawGraph (wxPaintEvent& event) {
            wxPaintDC paintDcGraph (this);
 
            paintDcGraph.SetPen (wxPen (wxColor (205, 205, 205), 1, wxSOLID));
            // Ось x.
            paintDcGraph.DrawLine (0, m_middleY, m_widthSpace, m_middleY);
            // Ось y.
            paintDcGraph.DrawLine ( ((m_visiblePoints * m_lengthInPixels) -20), 0,
                        ((m_visiblePoints * m_lengthInPixels) -20), m_heightSpace);
 
                        /// -------------- График --------------
            m_offsetX = m_widthSpace - m_arrayWxPoints [199].x;
            std::cout << "m_offsetX = " << m_offsetX << std::endl;
            paintDcGraph.SetPen (wxPen (wxT ("black"), 2, wxSOLID));
            paintDcGraph.DrawLines (200, m_arrayWxPoints,  m_offsetX, m_middleY);
        }
 
...
еще код
...
 
};
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.04.2023, 23:54
Ответы с готовыми решениями:

Изменять значение ScrollBar, изменяя значение другого ScrollBar
Подскажите пож-та как взаимосвзять scrollbar'ы в basic 6, что бы при увеличение значения на одном...

StringGrid2>ScrollBar>Poistion = StringGrid1>ScrollBar>Poistion
Здрасте :) Нигде не могу отрыть (или мозги уже не варят%-)) - как получить позицию ScrollBar`a ...

wxWidgets 2.9.3
Решил установить wxWidgets 2.9.3. Компилировал с помощью MinGW, вот так mingw32-make -f...

wxWidgets
делаю презентацию по теме: Кроссплатформенный текстовый редактор с использованием библиотеки...

1
2 / 2 / 0
Регистрация: 07.04.2016
Сообщений: 248
12.04.2023, 19:40  [ТС] 2
я балбес, запутался в классах и методах. Все работает, все просто.
0
12.04.2023, 19:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.04.2023, 19:40
Помогаю со студенческими работами здесь

WxWidgets
Надеюсь здесь мне кто то поможет. Мне нужно создать шрифт, который обводит буквы....

WxWidgets
Здравствуйте, пытаюсь откомпилировать пример wxMathPlot-0.1.2\samples\sample. IDE - codeblocks...

Qt vs wxWidgets
Здравствуйте! Объясните, пожалуйста, чем по сути отличается создание оконных приложений с помощью...

Wxwidgets
Добрый день! На данный момент пытаюcь поставить библиотеку Wxwidgets на Visual Studio 2019. Но...

Wxwidgets
Доброй вечер! Недавно начал изучать курс по роботе с библиотекой Wxwidgets, но к сожалению не...

wxWidgets и Qt
Решил поднять такой вопрос: &quot;А нужны ли нам wxWidgets, Qt или другие какие кросплатформенные...

wxWidgets и GoogleMaps
Добрый день. Решил написать программу, которая кроме всего прочего загружало бы Google maps....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru