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

Вниз

Печать fsMDIChild   Найти похожие ветки 

 
PTE ©   (2002-06-10 12:23) [0]

Есть форма fsMDIChild, таких форм может быть открыто несколько, как дать понять, что нужно печатать именно ту форму fsMDIChild, которая сейчас активна если кнопка печати для всех одно в меню? Печатаю через QReport


 
Black Cat ©   (2002-06-10 13:29) [1]

Используя ActiveMDIChild


 
PTE ©   (2002-06-10 13:29) [2]

Когда у меня была одна форма все было просто
Form2.QReport1.Print
Как же теперь понять что отправить на печать, а что нет


 
PTE ©   (2002-06-10 14:38) [3]

ну да делаю ActiveMDIChild.Print; но как он поймет какой из форм ему печатать? у меня формы печати и просмотра на других формах с QReport


 
hooky-mars ©   (2002-06-10 14:44) [4]


> ActiveMDIChild
Через неё не доберёшся до ком


 
PTE ©   (2002-06-10 14:49) [5]

так как правильно то?


 
Black Cat ©   (2002-06-10 14:51) [6]

if (ActiveMDIChild <> Nil) and (ActiveMDIChild is TForm2) then
TForm2(ActiveMDIChild).QReport1.Print;


 
PTE ©   (2002-06-10 16:07) [7]

что-то не работает, пытаюсь просмотр делать
procedure TForm1.N20Click(Sender: TObject);
begin
if (ActiveMDIChild <> Nil) and
(ActiveMDIChild is TForm3) then
TForm3(ActiveMDIChild).QuickRep1.Preview;
if (ActiveMDIChild <> Nil) and
(ActiveMDIChild is TForm5) then
TForm5(ActiveMDIChild).QuickRep1.Preview;
end;
нет нифига ничего ни ошибок ни каких движений


 
Black Cat ©   (2002-06-10 16:26) [8]

Form1 должна быть fsMDIForm, иначе ActiveMDIChild=nil


 
PTE ©   (2002-06-10 16:45) [9]

да так и есть Form1 fsMDIForm, а остальные чилд


 
PTE ©   (2002-06-10 17:14) [10]

так может кто подскажет в чем не прав я?


 
PTE ©   (2002-06-10 19:08) [11]

Попробую ещё раз, почему не печатается или при Preview не просматравается документ

procedure TForm1.N7Click(Sender: TObject);
begin
if (ActiveMDIChild <> Nil) and
(ActiveMDIChild is TForm3) then
TForm3(ActiveMDIChild).QuickRep1.Print;
if (ActiveMDIChild <> Nil) and
(ActiveMDIChild is TForm5) then
TForm5(ActiveMDIChild).QuickRep1.Print;
end;


 
PTE ©   (2002-06-10 19:17) [12]

попробывал сделать так кинул на родительскую форму кнопку в обработке написал
if Application.FindComponent("Form3") <> nil then
Form3.Show
else
Form3 := TForm3.Create(Application);
Form3.QuickRep1.Preview;

но почему не срабатывает при вызове из системного меню MainMenu


 
hooky-mars ©   (2002-06-10 19:40) [13]

ActiveMDIChild до компанентов не домерёщся. Моно попробовать через Api, но незнаю как с принтом.


 
PTE ©   (2002-06-10 19:52) [14]

ну а как же другие делают? я такие программ сколько угодно видел. MDI приложение и распечатывается та форма печати, которая соответствует активной форме. Неужели никто не делал?


 
hooky-mars ©   (2002-06-10 20:35) [15]


> PTE © (10.06.02 19:52)

А ты пробовал сливать менюшки или заменять актионлисты? Я то же пытаюсь решить эту проблуму. Но пока я её решил только при помощи API


 
PTE ©   (2002-06-10 21:00) [16]

нет у меня ничего не получается, а ко всему прочему рядом с моей родной серверной красят окна и двери и я сижу, начинаю отчаиватся и просто курю и тупо смотрю в монитор.
мне пора в отпуск


 
hooky-mars ©   (2002-06-10 21:03) [17]


> PTE © (10.06.02 21:00)
> нет у меня ничего не получается, а ко всему прочему рядом
> с моей родной серверной красят окна и двери и я сижу, начинаю
> отчаиватся и просто курю и тупо смотрю в монитор.
> мне пора в отпуск

Вообще-то это не ответ.


 
Black Cat ©   (2002-06-11 11:02) [18]


> PTE © (10.06.02 19:52)
> ну а как же другие делают? я такие программ сколько угодно
> видел. MDI приложение и распечатывается та форма печати,
> которая соответствует активной форме. Неужели никто не делал?

В том то и дело, что делал (только без qReporta), все работает. Если вопрос в силе, давай попробуем разобраться.


 
kaif ©   (2002-06-11 11:16) [19]

Если формы разных классов, но отчет везде называется QuickRep1 то
var
c: TComponent;
begin
c := ActiveMDIChild.FindComponent("QuickRep1")
if c <> nil then
with c as TQuickRep do Print;
end;
Если все формы - экземпляры или потомки некоей формы TMyForm, содержащей QuickRep1, то еще проще:
TMyForm(ActiveMDIChild).QuickRep1.Print;


 
hooky-mars ©   (2002-06-11 13:52) [20]

А что делать, если активную MDIChild MainForm`ы ищет поток? В таком случае TMyForm(ActiveMDIChild).QuickRep1.Print; не нашет. Непашет и MainForm.TMyForm(ActiveMDIChild).QuickRep1.Print;



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

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

Наверх




Память: 0.51 MB
Время: 0.018 c
1-77367
Shoroh
2002-06-13 13:09
2002.06.24
Как сделать меню такое же, как


1-77370
Alkid
2002-06-10 17:59
2002.06.24
TAnimate


14-77568
vajo
2002-05-21 09:14
2002.06.24
Метеориты с Марса


14-77559
Бармен
2002-05-19 11:37
2002.06.24
Неделю назад поменял комп :-(((


6-77523
Fellomena
2002-01-08 10:27
2002.06.24
NetShareEnum vs WNetEnumResource and some more... (inside)