Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.30;
Скачать: CL | DM;

Вниз

Срочно!!!   Найти похожие ветки 

 
lionmen ©   (2006-04-11 10:15) [0]

Здравствуйте! Как взять имя при выборе активного принтера с диалога? Допустим, я имею 2 принтера, один мой, другой сетевой. Активный мой, если запускать, то печатает мой, если выбрать сетевой, то печатает сетевой. Это всем ясно. Но, дело в том, что моя прога работает с WORDом. Если я запускаю на печать, печатает мой принтер, т к активный, а если я выбрал сетевой,  печатает все равно мой, т к в вордоском диалоге имя принтера мой, т е активный. Есть вордовская свойство ActivePrinter, хотел бы присвоить то какой я выбрал принтер, т е с обычного принтдиалога делфи имя принтера, который я выбрал передать в ворд свойство ActivePrinter. Потом командой PrintOut сразу на печать. Ну другими словами, просто взять имя, который я выбрал. Дальше я сам справлюсь Кому не лень, опишите плиз.

Вот малюсенькая прога
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, QPrinters;

type
 TForm1 = class(TForm)
   Button1: TButton;
   ListBox1: TListBox;
   Edit1: TEdit;
   PrintDialog1: TPrintDialog;
   procedure Button1Click(Sender: TObject);
   procedure PrintDialog1Show(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 PrintDialog1.Execute;
end;

procedure TForm1.PrintDialog1Show(Sender: TObject);
begin
ListBox1.Items.Text:= Printer.Printers.Text;

//После выбора принтера на диалоговом окне, должна выводится тот
//принтер который я выбрал.
//А это только первый по списку
Edit1.Text:= printer.Printers.Strings[0]; //?????
end;

end.


 
ЮЮ ©   (2006-04-11 10:38) [1]

//После выбора принтера на диалоговом окне, должна выводится тот
//принтер который я выбрал.
  Edit1.Text:=  ListBox1.Items[ListBox1.ItemIndex];

если не выбрал, то ListBox1.ItemIndex = -1

З.Ы.
 procedure TForm1.PrintDialog1Show(Sender: TObject);
 begin
  ListBox1.Items.Text:= Printer.Printers.Text;
 ...
Выделенный оператор должен выполняться не в PrintDialog1Show, а раньше, чтобв пользователь мог выбрать строку в ListBox1, т.е. определить ListBox1.ItemIndex


 
lionmen ©   (2006-04-12 11:07) [2]

Это я знаю, просто я поставил ListBox1 для примера, чтобы посмотреть какие принтеры есть. Я о другом, хочу чтобы при выборе принтера в принтдиалога, похож на ComboBox, принтер становиться активным и сразу же в Edit1 присвоить то имя принтера, которую я выбрал. А то каждый раз изменять настройки принтера в Пуск-Настройка-Принтеры и Факсы-выбрал притер и при нажатии правой кнопкой мыши  выбираем - использовать по умолчание. Мне не надо на печать, я сам справлюсь, мне только вывести и все!!!


 
lionmen ©   (2006-04-13 10:31) [3]

Ну кто нить может ответить, неужель никто не знает?



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

Текущий архив: 2006.04.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.057 c
8-1133465053
JuSSS
2005-12-01 22:24
2006.04.30
Микрофон 20 dB boost


2-1145087558
anubis
2006-04-15 11:52
2006.04.30
ImageList


15-1144503176
Yuri Btr
2006-04-08 17:32
2006.04.30
Поддержка сайта


2-1144910210
OlegOren
2006-04-13 10:36
2006.04.30
Создание не одной папки,а целого пути.


3-1140564295
TheEd
2006-02-22 02:24
2006.04.30
Как при вставке задать полям знач-я по умолч., те что в БД заданы