Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.02.29;
Скачать: [xml.tar.bz2];

Вниз

Как напечатать несколько графиков на одной странице?   Найти похожие ветки 

 
morev_s_a   (2004-02-17 18:19) [0]

Как с помощью TeeChartPro (или без помощи) напечатать несколько графиков на одной странице? В справке написано только как добавлять графики в компонент предварительного просмотра, а как печатать не написано.

Если печатать так:

Printer->BeginDoc();

for ( int i = 0 ; i < TeePreviewPanel1->Panels->Count ;i++ )
{
TeePreviewPanel1->Panels->Items[i]->PrintPartialCanvas
( Printer->Canvas , Rect( ....) );
}
Printer->EndDoc();

то печатается только первый график, а остальные нет.

Проверено, что TeePreviewPanel1->Panels->Count возврвщает правельное количество графиков (т.е. не 1 ).

Помогите кто чем может.


 
Семен Сорокин   (2004-02-17 18:29) [1]

Печатай на канву принтера


 
Семен Сорокин   (2004-02-17 18:37) [2]

кусок из рабочего проекта, FPrintAllCharts - массив из 5 TChart"ов.
Screen.Cursor := crHourGlass;
_bmp := TBitmap.Create;
_bmp1 := TBitmap.Create;
with Printer do begin
BeginDoc;
try
_bmp.Width := pnlChartsNoScroll.Width;
_bmp.Height := pnlChartsNoScroll.Height+20;
_str := "Борт " + IntToStr(FAllSeries.FData.FlightData.Bort) + " Рейс " + IntToStr(FAllSeries.FData.FlightData.Reis) +
" Дата " + FormatDateTime("dd.mm.yy hh:nn", FAllSeries.FData.FlightData.TimeBegin);
_bmp.Canvas.Font.Name := "Tahoma";
_bmp.Canvas.Font.Size := 10;
_bmp.Canvas.Font.Color:= clBlue;
_bmp.Canvas.Font.Style:= [fsBold];
_rect := Rect(0, 0, pnlChartsNoScroll.Width, _bmp.Canvas.TextHeight("W") + 3);
DrawText(_bmp.Canvas.Handle, PChar(_str), Length(_str), _rect, DT_NOPREFIX or DT_WORDBREAK or DT_CENTER or DT_VCENTER);
_topb := _bmp.Canvas.TextHeight("W") + 3;
_l := PageWidth div 20;
_t := PageHeight div 20;
_koef := (PageHeight-_t*2)/(pnlChartsNoScroll.Height+20);
_rect := Rect(_l, _t, PageWidth-_l*2, _t + Canvas.TextHeight("W") + 3);
Canvas.Font.Name := "Tahoma";
Canvas.Font.Size := 10;
Canvas.Font.Color:= clBlue;
Canvas.Font.Style:= [fsBold];
DrawText(Canvas.Handle, PChar(_str), Length(_str), _rect, DT_NOPREFIX or DT_WORDBREAK or DT_CENTER or DT_VCENTER);
_top := _t + Canvas.TextHeight("W") + 10;
for _i := 1 to 5 do
if FPrintAllCharts[_i].Visible and (FPrintAllCharts[_i].SeriesCount > 0) then begin
try
FPrintAllCharts[_i].Color := clWhite;
FPrintAllCharts[_i].BackColor := clWhite;
_bmp1.Width := FPrintAllCharts[_i].Width;
_bmp1.Height := FPrintAllCharts[_i].Height;
FPrintAllCharts[_i].PaintTo(_bmp1.Canvas, 0, 0);
StretchBlt(Canvas.Handle, _l, _top, PageWidth-_l{*2}, Round(_koef*FPrintAllCharts[_i].ChartHeight),
_bmp1.Canvas.Handle, 0, 0, _bmp1.Width, _bmp1.Height, SRCCOPY);
_top := _top + Round(_koef*FPrintAllCharts[_i].Height) + 10;
_rect := _bmp1.Canvas.ClipRect;
_rect.Bottom := _rect.Bottom + _topb;
_rect.Top := _rect.Top + _topb;
_bmp.Canvas.CopyRect(_rect, _bmp1.Canvas, _bmp1.Canvas.ClipRect);
_topb := _topb + _bmp1.Canvas.ClipRect.Bottom - _bmp1.Canvas.ClipRect.Top + 3
finally
FPrintAllCharts[_i].Color := clBtnFace;
FPrintAllCharts[_i].BackColor := iif(tbInvertBackground.Tag=0, clWhite, clBlack)
end
end;
_bmp.SaveToFile(GlobalSettings.OutDocDir + "\Параметры и сигналы.bmp");
finally
EndDoc;
_bmp.Free;
_bmp1.Free;
Screen.Cursor := crDefault
end



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.02.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.011 c
4-94234
Gilk
2003-12-19 11:01
2004.02.29
Drop файлов


8-94032
Новик
2003-10-22 08:50
2004.02.29
Кластеризация изображений


7-94209
Dimich1978
2003-12-05 19:42
2004.02.29
GetSystemMetrics не пашет


4-94248
TankMan
2003-12-22 19:25
2004.02.29
Как определить Класс определенного окна?


3-93794
staryx
2004-02-03 15:38
2004.02.29
Работа с БД с запросов.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский