Главная страница
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.028 c
10-1117009515
VladimirB
2005-05-25 12:25
2006.04.30
Глюк Pluggable Protocol при вызовы IInternetProtocolRoot.Start


15-1144345079
X9
2006-04-06 21:37
2006.04.30
Opera и дайджесты


2-1144905866
mike ilin
2006-04-13 09:24
2006.04.30
Помогите разобраться с буфером обмена.


2-1145082227
pavlin_pah
2006-04-15 10:23
2006.04.30
Stringgrid и Scroll


1-1143211551
Германн
2006-03-24 17:45
2006.04.30
Координаты SubItem в TListView