Все. Распечатал содержимое грида, все работает отлично.
Но есть одна проблема которая портит мою жизнь.
Я распечатываю, это документы на одном листе, типа приходного или расходного ордера.
Но например накладная или счет или счет-фактура могут быть на нескольких листах, ввиду большого списка товара.
И вот тут я стопорнулся.... уже месяц как буксую....
Накладная или счет-фактура состоит из нескольких частей-блоков, эти блоки я сформулировал так: шапка документа, подвал документа, шапка страницы, подвал страницы.
Т.е. при визуальном рисовании шаблона накладной или счета, нужно как-то выделить эти шапки и подвалы.... в 1С они выделяются слева сразу за номерами рядов, в виде большой скобы, затем красная линия идет до правой стороны грида.
Вот картинка:
Т.е. мне нужно нарисовать слева скобу или просто толстую линию обозначающую сколько рядов уходит под шапку, сколько под подвал... и т.п. Это не проблема я её нарисовал переопределив функцию DrawRowLabel(wxDC& dc, int row) в моем производном от wxGrid классе.
Проблема у меня возникла с рисованием красной линии....... дело в том, что эту линию придется рисовать только в гриде использую пользовательский рендерер. А там у меня уже нарисовано три короба с использование другого рендерера и если сверху "наложить" еще один рендерер, то он потрет содержимое ячеек.
Вот у меня вопрос и возник... wxGrid производный от wxScrolledWindow, можно ли как-то нарисовать в этом окне но сверху грида?
Спрашивал у капиталистов, они не знают, даблмакс посоветовал покопаться в исходниках грида..... я копался.... но там опять все сводится к написанию пользовательского рендерера...
Короче западня....
Или нужно искать другой способ выделения блоков, но это должен быть только визуальный способ, потому, что это главная концепция построение отчетов, они должны визуально рисоваться как в экселе или в 1С.
У кого какие идеи братва?
Как распечатать содержимое wxGrid.
-
- Super wx Problem Solver
- Posts: 401
- Joined: Wed Sep 21, 2005 8:17 am
- Location: Rostov-on-Don, Southern Russia
Re: Как распечатать содержимое wxGrid.
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Re: Как распечатать содержимое wxGrid.
Создать wxBitmap почти весь прозрачный, кроме линии и в OnPaint пастить сверху?
Win7/LinuxMint 17, VS2013/C::B, wxWidgets 3.0 x64
-
- Super wx Problem Solver
- Posts: 401
- Joined: Wed Sep 21, 2005 8:17 am
- Location: Rostov-on-Don, Southern Russia
Re: Как распечатать содержимое wxGrid.
Не выйдет, во-первых эти красные линии мне нужны в редакторе, в печати их быть не должно, а редакторе вставлять wxBitmaр...... не то....SteelRat wrote:Создать wxBitmap почти весь прозрачный, кроме линии и в OnPaint пастить сверху?
Во-вторых я пробовал рисовать в OnPaint ничего не рисуется, как я понимаю грид закрывает сверху ScrolledWindow.
Капиталисты советуют залезть в исходники грида а именно в функцию void wxGridWindow::OnPaint( wxPaintEvent &WXUNUSED(event) ) и в этой функции вставить свою виртуальную, которую в своем производном классе переопределить.... идея хорошая, как я сам не догадался.....
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0