Форум программистов, компьютерный форум CyberForum.ru

Страуструп FLTK newline в Out_box - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как узнать размер std::wstring в байтах? http://www.cyberforum.ru/cpp-beginners/thread952972.html
:) ну как бэ вопрос в шапке :)
C++ Прокомментируйте программу для проверки работоспособности класса «система счисления» Если с можете помагите с этим программой 3.5 Разработана программа для проверки работоспособности класса «система счисления» (Notation). #include <iostream> #include <iomanip> using namespace std; class Notation {…}; void Notation::Set(int num) {…} http://www.cyberforum.ru/cpp-beginners/thread952954.html
Прокомментировать класс «система счисления» C++
Если с можете помагите с этим программой 3.4 Реализован класс «система счисления». Он имеет метод для задания значения в десятичной системе счисления (Set(int num)) и метод для печати значения в произвольной системе счисления (Print(int notat=10)). Реализованный класс представлен ниже: #include <iostream> #include <iomanip> using namespace std; class Notation { private:
C++ Прокомментируйте программу "Будильник"
Если с можете помагите с этим программой 3.2 Разработана программа для проверки работоспособности класса «Будильник» (Budilnik). #include <iostream> #include <ctime> using namespace std; class Budilnik {…}; void Budilnik::Set_time(int hour_g, int min_g, int sec_g){…}
C++ Прокомментируйте программу http://www.cyberforum.ru/cpp-beginners/thread952951.html
Если с можете помагите с этим программой #include <iostream> #include <ctime> using namespace std; class Budilnik { private: int hour, min, sec; public:
C++ рисование в код блоксе вопрос: реально ли в код блоксе рисовать график используя мышку? например, ставлю две точки мышкой, а они соединяются линеей. если да, то как это реализовать? подробнее

Показать сообщение отдельно
Cynacyn
33 / 33 / 0
Регистрация: 02.05.2013
Сообщений: 109

Страуструп FLTK newline в Out_box - C++

12.09.2013, 12:16. Просмотров 530. Ответов 8
Метки (Все метки)

Здравствуйте, вопрос довольно специфический, поэтому я думаю нет нужды приводить Страусроповские исходники.
Но на всякий случай я их спрятал под спойлер:

Кликните здесь для просмотра всего текста

Out_box
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    struct Out_box : Widget {
        Out_box(Point xy, int w, int h, const string& s)
            :Widget(xy,w,h,s,0) { }
        void put(int);
        void put(const string&);
 
        void attach(Window& win);
    };
//------------------------------------------------------------------------------
 
void Out_box::put(const string& s)
{
    reference_to<Fl_Output>(pw).value(s.c_str());
}
 
//------------------------------------------------------------------------------
 
void Out_box::attach(Window& win)
{
    pw = new Fl_Output(loc.x, loc.y, width, height, label.c_str());
    own = &win;
}
Widget
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
    class Widget {
    // Widget is a handle to an Fl_widget - it is *not* an Fl_widget
    // We try to keep our interface classes at arm's length from FLTK
    public:
        Widget(Point xy, int w, int h, const string& s, Callback cb)
            : loc(xy), width(w), height(h), label(s), do_it(cb)
        {}
 
        virtual void move(int dx,int dy) { hide(); pw->position(loc.x+=dx, loc.y+=dy); show(); }
        virtual void hide() { pw->hide(); }
        virtual void show() { pw->show(); }
        virtual void attach(Window&) = 0;
 
        Point loc;
        int width;
        int height;
        string label;
        Callback do_it;
 
        virtual ~Widget() { }
 
    protected:
        Window* own;    // every Widget belongs to a Window
        Fl_Widget* pw;  // connection to the FLTK Widget
    private:
        Widget& operator=(const Widget&); // don't copy Widgets
        Widget(const Widget&);
    };
Window
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
    class Window : public Fl_Window { 
    public:
        // let the system pick the location:
        Window(int w, int h, const string& title);
        // top left corner in xy
        Window(Point xy, int w, int h, const string& title);    
 
        virtual ~Window() { }
 
        int x_max() const { return w; }
        int y_max() const { return h; }
 
        void resize(int ww, int hh) { w=ww, h=hh; size(ww,hh); }
 
        void set_label(const string& s) { copy_label(s.c_str()); }
 
        void attach(Shape& s) { shapes.push_back(&s); }
        void attach(Widget&);
 
        void detach(Shape& s);     // remove s from shapes 
        void detach(Widget& w);    // remove w from window (deactivates callbacks)
 
        void put_on_top(Shape& p); // put p on top of other shapes
 
    protected:
        void draw();
 
    private:
        vector<Shape*> shapes;     // shapes attached to window
        int w,h;                   // window size
 
        void init();
    };



Вопрос такой. Как в объект Out_box вывести строки разделённые "\n"


C++
1
2
3
4
//....    
Out_box ob;    
//...    
ob.put("first line \n second line");

Вывод выглядит так:

first line ^J second line
А нужно так:

first line
second line
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru