Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вывод на печать графического объекта [D6, Win95/98]


Alexey123 ©   (2003-10-03 19:08:00) 

Здравствуйте уважаемые Мастера!
Хочу спросить у Вас совета.
Пытаюсь напечатать изображение и в результате задание отпраляется на принтер, спустя некоторое время задание снимается, а принтер так и не приступает к печати. А вот при использовании метода TextOut, все нормально (текст выводится на бумагу). В чем дело? Как вывести на печать созданный графический объект? Заранее благодарен!
Ниже привожу код процедуры:

procedure TForm1.Button1Click(Sender: TObject);
var
bm: TBitMap;
begin
bm:=TBitMap.Create;
bm.Height:=14;
bm.Width:=10;

bm.Canvas.RoundRect(4,0, 6,2, 0,0);
bm.Canvas.RoundRect(4,2, 6,4, 0,0);
bm.Canvas.RoundRect(2,2, 4,4, 0,0);
bm.Canvas.RoundRect(4,4, 6,6, 0,0);
bm.Canvas.RoundRect(4,6, 6,8, 0,0);
bm.Canvas.RoundRect(4,8, 6,10, 0,0);
bm.Canvas.RoundRect(4,10, 6,12, 0,0);
bm.Canvas.RoundRect(4,12, 6,14, 0,0);
bm.Canvas.RoundRect(2,12, 4,14, 0,0);
bm.Canvas.RoundRect(6,12, 8,14, 0,0);

Printer.BeginDoc;
Printer.Canvas.Draw(0,0, bm);
Printer.EndDoc;

bm.Free;
end;


Alexey123   (2003-10-04 13:56:00) [1]

Огромное спасибо за помощь!


Dmk   (2003-10-04 00:15:00) [2]

procedure TForm1.Button1Click(Sender: TObject);
var
bm: TBitMap;

begin
bm := TBitMap.Create;

Printer.BeginDoc;
bm.Canvas.Handle := Printer.Canvas.Handle;

bm.Canvas.RoundRect(4*30,0*30, 6*30,2*30, 0,0);
bm.Canvas.RoundRect(4*30,2*30, 6*30,4*30, 0,0);
bm.Canvas.RoundRect(2*30,2*30, 4*30,4*30, 0,0);
bm.Canvas.RoundRect(4*30,4*30, 6*30,6*30, 0,0);
bm.Canvas.RoundRect(4*30,6*30, 6*30,8*30, 0,0);
bm.Canvas.RoundRect(4*30,8*30, 6*30,10*30, 0,0);
bm.Canvas.RoundRect(4*30,10*30, 6*30,12*30, 0,0);
bm.Canvas.RoundRect(4*30,12*30, 6*30,14*30, 0,0);
bm.Canvas.RoundRect(2*30,12*30, 4*30,14*30, 0,0);
bm.Canvas.RoundRect(6*30,12*30, 8*30,14*30, 0,0);

Printer.EndDoc;

bm.Free;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо