我正在尝试通过使用visual studio 2008 C ++ Windows窗体应用程序绘制到位图来打印数据网格视图,但是我无法转换标题中提到的两种类型。这是被称为的方法:
private:
void printDocument1_PrintPage(System::Object ^ sender,
System::Drawing::Printing::PrintPageEventArgs ^ e)
{
Bitmap^ bm = gcnew Bitmap(this->dataGridView1->Width, this->dataGridView1->Height);
this->dataGridView1->DrawToBitmap(bm, new Rectangle(0, 0, this->dataGridView1->Width, this->dataGridView1->Height));
e->Graphics->DrawImage(bm, 0, 0);
}
System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
printDialog1->ShowDialog();
printDocument1->Print();
}
但是在编译代码时我收到了这个错误:
error C2664: 'System::Windows::Forms::Control::DrawToBitmap' : cannot convert parameter 2 from 'System::Drawing::Rectangle *' to 'System::Drawing::Rectangle'
我很无能为力。我该如何解决这个错误?
答案 0 :(得分:2)
new Rectangle(...)
代码不应该是gcnew Rectangle(...)
吗?请记住,在托管C ++中,new
与gcnew
不同。