Печать DataGridView с помощью PrintDocument

Jugg

День добрый, есть DataGridView который нужно распечатать, мои попытки привели к печати всего окна. В интернете есть очень много инфы на C#, попытался переделать готовый код под C++ но безуспешно. Собсно я остановился на printDocument:
private: System::Void printDocument1_PrintPage(System::Object^  sender, System::Drawing::Printing::PrintPageEventArgs^  e) 
         {
            Bitmap bmp = gcnew Bitmap (dataGridView1->Size.Width + 10, dataGridView1->Size.Height + 10);
            dataGridView1->DrawToBitmap (bmp, dataGridView1->Bounds);
            e->Graphics->DrawImage (bmp, 0, 0);
         }
При компиляции выдает ошибки: error C2664: System::Windows::Forms::Control::drawToBitmap: невозможно преобразовать параметр 1 из "System::drawing::Bitmap" в "System::drawing::Bitmap ^"error C2664: void System::drawing::Graphics::drawImage(System::drawing::Image ^,float,float): невозможно преобразовать параметр 1 из "System::drawing::Bitmap" в "System::drawing::Image ^"Кто чем помочь может? Уже часа 4 туплю.
2 ответа

Jugg

"Шапку" для Bitmap не добавили
Bitmap^ bmp = gcnew Bitmap(...


Jugg

Спасибо, исправил. Код рабочий, но область которую он печатает не та что нужна. Проблема как я понял в этой области:
(this->dataGridView1->Size.Width+10, this->dataGridView1->Size.Height+10)
Нужно выставлять текущие координаты таблицы, к примеру Size.Width + 200 и Size.Height+100, тогда выводит то что нужно, но если во время работы программы добавить записи в таблицу ( следовательно она увеличится) то выводит прежнюю область. Не знаю как сделать так, что бы печать подстраивалась под размер текущей таблицы.