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

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

Отчего нет печати [D5, WinXP]


AlexLines ©   (2005-11-20 12:06:00) 

Уважаемые знатоки

1) пишу следующий текст

if PrintDialog1.Execute then
     RichEdit1.Print(RichEdit1.Text); или lines.text

не печатает

печатает - RichEdit1.Print('Привет всем');

Не могу понять в чем проблема

2) Как проверить установлен ли принтер в системе?

Спасибо


Virgo_Style   (2005-11-20 12:45:00) [1]

1. Неужели печатает "Привет всем"? Вообще-то должен печатать содержимое Richedit в обоих случаях. Может быть (совершенно не уверен), что в первом случае где-то внутри делается попытка присвоить заголовку задания печати значение Richedit1.Text, которое совершенно для этого не предназначено, что и вызывает ошибку.

2. TPrinter.Printers?


Separator   (2005-11-20 12:38:00) [2]

The title displayed in the Print Manager (and
   on network header pages) is determined by the Title property.
Title - The title used by Windows in the Print Manager and for network
     title pages.


Через Title задается имя документа

Для справки:
   Удерживая клавишу Ctrl, левой кнопкой мыши нажми на слово Print, попадешь в модуль ComCtrls к процедуре Print:

procedure TCustomRichEdit.Print(const Caption: string);
var
 Range: TFormatRange;
 LastChar, MaxLen, LogX, LogY, OldMap: Integer;
 SaveRect: TRect;
begin
 FillChar(Range, SizeOf(TFormatRange), 0);
 with Printer, Range do
 begin
   Title := Caption;


вот, в последней строчке видим, что значение Caption присваевается значению Title, далее тем же способом нажимаем на Title и попадаем в модуль Printers и там, в самом верху находится описание модуля. Если этого мало, то поиском ищем все вхождения Title и вот что находим:

 with DocInfo do
 begin
   cbSize := SizeOf(DocInfo);
   lpszDocName := PChar( Title);
 end;


Дальше объяснять?


Наверх

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