Печать из wxGrid Topic is solved

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
Post Reply
Dok
In need of some credit
In need of some credit
Posts: 9
Joined: Sun Aug 01, 2010 7:30 pm
Location: Russia, Samara
Contact:

Печать из wxGrid

Post by Dok » Sat Aug 14, 2010 5:26 pm

В wxWidgets есть какие-то средства для печати, но я так и не разобрался как ими вообще пользоваться. Как можно вывести на печать таблицу из wxGrid, так как она есть?
Debes ergo potes (lat.)
-------------------------------------
OS: Windows 7 / Ubuntu 10.04
Compiler: Code::Blocks NB
wxWidgets: 2.8.10

borr_1
Super wx Problem Solver
Super wx Problem Solver
Posts: 362
Joined: Wed Mar 07, 2007 8:10 am
Location: Russia, Shakhty

Post by borr_1 » Sun Aug 15, 2010 6:18 am

WinXP SP3, wx-2.8.10, MinGW-4.4.1, gdb-7.1.2, eclipse

Dok
In need of some credit
In need of some credit
Posts: 9
Joined: Sun Aug 01, 2010 7:30 pm
Location: Russia, Samara
Contact:

Post by Dok » Thu Aug 19, 2010 10:05 am

А кто-нибудь использовал эту библиотеку?) Никак не могу разобраться, в чем проблема. При компиляции выдает ошибки рода:
E:\home\libs\controlprinter.cpp|142|error: no matching function for call to `wxGridPrintout::DrawTextInRectangle(wxDC&, wxString, wxRect, wxFont, const wxBrush&, wxAlignment, wxAlignment)'|
E:\home\libs\controlprinter.h|77|note: candidates are: static void wxGridPrintout::DrawTextInRectangle(wxDC&, wxString&, wxRect&, wxFont&, wxBrush&, int, int, int)|
Вроде библиотеку в том топике проверяли и она работала, может у меня что-то не так?
Или что нужно подправить в этой библиотеке... Единственное чего я смог добиться, повозившись в ней - это компиляции и полного зависания приложения при печати.
Debes ergo potes (lat.)
-------------------------------------
OS: Windows 7 / Ubuntu 10.04
Compiler: Code::Blocks NB
wxWidgets: 2.8.10

borr_1
Super wx Problem Solver
Super wx Problem Solver
Posts: 362
Joined: Wed Mar 07, 2007 8:10 am
Location: Russia, Shakhty

Post by borr_1 » Thu Aug 19, 2010 11:32 am

там вроде как советуют переделать строку 142 на

Code: Select all

DrawTextInRectangle(*dc,m_grid->GetColLabelValue(i),wxRect(countWidth,0,m_grid->GetColSize(i),m_grid->GetColLabelSize()),m_grid->GetLabelFont(),(wxBrush)*wxBLACK_BRUSH,wxALIGN_CENTER,wxALIGN_CENTER);
WinXP SP3, wx-2.8.10, MinGW-4.4.1, gdb-7.1.2, eclipse

Dok
In need of some credit
In need of some credit
Posts: 9
Joined: Sun Aug 01, 2010 7:30 pm
Location: Russia, Samara
Contact:

Post by Dok » Thu Aug 19, 2010 12:48 pm

Все равно не работает. Жалуется что в этой самой функции почти для всех параметров просят адреса на переменные, а мы им сами переменные всучаем...
Debes ergo potes (lat.)
-------------------------------------
OS: Windows 7 / Ubuntu 10.04
Compiler: Code::Blocks NB
wxWidgets: 2.8.10

borr_1
Super wx Problem Solver
Super wx Problem Solver
Posts: 362
Joined: Wed Mar 07, 2007 8:10 am
Location: Russia, Shakhty

Post by borr_1 » Fri Aug 20, 2010 8:47 am

Я чуть-чуть поправил у меня запечатало.

Нужно поправить, а то съезжать будит.

Code: Select all

prnData->SetPaperId(wxPAPER_A4);//wxPAPER_LEGAL
Attachments
GridPrint.zip
(4.69 KiB) Downloaded 144 times
WinXP SP3, wx-2.8.10, MinGW-4.4.1, gdb-7.1.2, eclipse

Dok
In need of some credit
In need of some credit
Posts: 9
Joined: Sun Aug 01, 2010 7:30 pm
Location: Russia, Samara
Contact:

Post by Dok » Fri Aug 20, 2010 4:59 pm

Спасибо, теперь библиотека работает, хотя при печати все так же зависает.
Но, судя по моим новым экспериментам, причина этого кроется в таблице, ибо при создании другой таблицы все в норме. Будем искать ответ методом проб и ошибок...

Добавлено:
Да, действительно, все дело было в том, что у меня слишком большой была RowLabelSize. Что ж, придется сокращать заголовки. И еще раз спасибо за помощь!
Debes ergo potes (lat.)
-------------------------------------
OS: Windows 7 / Ubuntu 10.04
Compiler: Code::Blocks NB
wxWidgets: 2.8.10

Post Reply