Нашел такой код
Код | void __fastcall TForm1::N5Click(TObject *Sender) { int X1,X2,Y1,Y2; double PointsX,PointsY; TPrintDialog PrintDlg;
// Создаю и отображаю на экране стандартное окно печати PrintDlg=TPrintDialog->Create(Owner); if PrintDlg->Execute{ //Начинаю новый документ Printer->BeginDoc(); Printer->Canvas->Refresh(); //Получаю информацию о разрешении принтера PointsX=GetDeviceCaps(Printer->Canvas->Handle,LOGPIXELSX)/10; PointsY=GetDeviceCaps(Printer->Canvas->Handle,LOGPIXELSY)/70; //Рассчитываю размеры изображения X1=round((Printer->PageWidth -PaintBox1->Width*PointsX /2) ; Y1=round((Printer.PageHeight -PaintBox1->Height*PointsY)/2); X2=round(X1+PaintBox1->Width*PointsX); Y2=round(Y1+PaintBox1->Height*PointsY); //Вывод изображения на печать Printer->Canvas->CopyRect(Rect(XI,Yl,X2,Y2),PaintBox1->Canvas, Rect(0,0,PaintBox1->Width,PaintBox1->Height)); Printer->EndDoc(); } //Уничтожаю созданное окно печати PrintDig->Free();
}
|
Возникают ошибки. [C++ Error] Unit1.cpp(1068): E2459 VCL style classes must be constructed using operator new [C++ Error] Unit1.cpp(1068): E2285 Could not find a match for 'TPrintDialog::TPrintDialog()'
В этой строке
Код | TPrintDialog PrintDlg;
|
Походу объвил как то не так . В справке порылся
Цитата | Example: [C++]voidfoo(void) { Tobject o1; // Error; Tobject *o2 = new TObject(); }
Пробывал 2 вариант но все равно ерор.
|
|