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

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

Имитировать нахатие кнопок


Страницы:   1 2

TQuickReport ©   (2014-12-14 12:04:00) 

Возможно ли и каким образом можно имитировать нажатие кнопок Open, Save и др. на ToolBar (похоже, что они расположены именно там) после QuickReport.PreView?


TQuickReport   (2014-12-18 12:28:00) [1]

> Amoeba_   (17.12.14 18:17) [23]
> Как создать свое окно предварительного просмотра QuickReport отчетов?
> http://www.delphikingdom.com/asp/viewitem.asp?catalogid=489


Спасибо, хорошая ссылка


Германн   (2014-12-17 23:48:00) [2]


>  Smile ©   (17.12.14 07:33) [22]
>
> > А показ самого окна превью в твоей задаче обязателен?
>
> Обязателен, необходимо убедиться в достоверности (безошибочности)
> сформированного документа.

Если есть кому убедиться, значит и есть кому просто нажать на кнопку, а не имитировать это нажатие программно.


Amoeba_   (2014-12-17 18:17:00) [3]

Как создать свое окно предварительного просмотра QuickReport отчетов?
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=489


Smile   (2014-12-17 07:33:00) [4]

> А показ самого окна превью в твоей задаче обязателен?

Обязателен, необходимо убедиться в достоверности (безошибочности) сформированного документа. Вывод в QuickReport (не в документы Word, Excel) спрограммирован осознано, чтобы затруднить пользователю редактирование (фальсификацию) документа.


Германн   (2014-12-16 20:35:00) [5]


> TQuickReport   (16.12.14 17:17) [18]
>
> > ты превью вызываешь как модальное, а мы тут паримся
>
> Я не уверен, что вызываю модально
> QuickRep1.Preview;

Это не модально. Модально PrevuewModal
А показ самого окна превью в твоей задаче обязателен? Недостаточно лишь кнопок Save, Print и т.п. на твоей форме?


TQuickReport   (2014-12-16 17:44:00) [6]

> Andy BitOff ©   (16.12.14 14:54) [16]

> ЗЫ с QT не работал, но не думаю, что это проблема ;-)

C MessageDlgPos не пробовал проверить свою идею?


TQuickReport   (2014-12-16 17:24:00) [7]

> Ega23 ©   (16.12.14 16:44) [17]

Я уже написал, что MessageDlgPos, именно как пример
В QuickRep1.Preview; мне нужно "кликнуть" (программно) по/на кнопкам Save, Print  и т.п., что в общем (по конкретным точкам) не имеет никакого принципиального значения.
Мне, конкретно, хотелось бы имитировать "клики" на доступные кнопки на "форме" QuikRep.PreView
Если сочтете вопрос не заслуживающег внимания, не обижусь ...


TQuickReport   (2014-12-16 17:17:00) [8]

> ты превью вызываешь как модальное, а мы тут паримся

Я не уверен, что вызываю модально
QuickRep1.Preview;
Хотя не совсем понимаю, что меняет модальность
Не могу добраться до "кнопки"


Ega23   (2014-12-16 16:44:00) [9]


if MessageDlgPos('Имитировать клик по кнопке, например  <Cancel>',
              mtCustom, [mbOK, mbNo, mbCancel, mbIgnore], 0,
              Form1.Left + 20, Form1.Top + 20) = mbOK then
begin
 Preview.Cancel;
end;


Ну или какой там метод вызывается, если cancel нажать.
QR у себя в XE4 не наблюдаю, поэтому точно сказать не могу.


Andy BitOff   (2014-12-16 14:54:00) [10]

Ты бы хоть код свой показал, а то получится, что ты превью вызываешь как модальное, а мы тут паримся.
ЗЫ с QT не работал, но не думаю, что это проблема ;-)


TQuickReport   (2014-12-16 13:41:00) [11]

Если так будет проще понять то, что я хотел бы, как пример, реализовать,

MessageDlgPos('Имитировать клик по кнопке, например  <Cancel>',
               mtCustom, [mbOK, mbNo, mbCancel, mbIgnore], 0,
               Form1.Left + 20, Form1.Top + 20);


Спасибо, что уделяете внимание этой ветке


Германн   (2014-12-16 02:59:00) [12]


> Ega23 ©   (15.12.14 14:44) [13]
> Или я чего-то недопонимаю?

Правильно понимаешь. Только нормального полного хелпа по QR никогда не было.
Плавали - знаем. :)


Ega23   (2014-12-15 14:44:00) [13]


> Возможно ли и каким образом можно имитировать нажатие кнопок
> Open, Save и др. на ToolBar (похоже, что они расположены
> именно там) после QuickReport.PreView?
>


Я конечно очень давно QR не использовал, но, ЕМНИП, реакция на эти кнопки - суть вызов соответствующих методов Open, Save и др.
Т.е. "имитацией" будет вызов данного метода.
Или я чего-то недопонимаю?


Германн   (2014-12-14 18:13:00) [14]


> В моей программе на QuickRep

И нафига тогда такие извращения? Скачай с сайта автора QR пример создания собственного превью и сделай всё что нужно по этому примеру.
http://www.quickreport.co.uk/WebInfoPage.aspx?WebInfoID=623


TQuickReport   (2014-12-14 18:07:00) [15]

Это QuickRep.dfm
object QRStandardPreview: TQRStandardPreview
 Left = 229
 Top = 191
 Width = 652
 Height = 579
 Caption = 'Print Preview'
 Color = clBtnFace
 ParentFont = True
 KeyPreview = True
 OldCreateOrder = True
 Position = poScreenCenter
 ShowHint = True
 OnClose = FormClose
 OnCreate = FormCreate
 OnKeyDown = FormKeyDown
 OnResize = FormResize
 PixelsPerInch = 96
 TextHeight = 13
 object StatusBar: TStatusBar
   Left = 0
   Top = 538
   Width = 644
   Height = 19
   Panels = <
     item
       Alignment = taRightJustify
       Text = '0%'
       Width = 40
     end
     item
       Text = 'Page'
       Width = 50
     end>
   SimplePanel = False
 end
 object ToolBar1: TToolBar
   Left = 0
   Top = 0
   Width = 644
   AutoSize = True
   BorderWidth = 2
   Flat = True
   Images = Images
   TabOrder = 1
   object ToolButton1: TToolButton
     Left = 0
     Top = 0
     Width = 8
     Caption = 'ToolButton1'
     ImageIndex = 12
     Style = tbsDivider
   end
   object ZoomFit: TToolButton
     Left = 8
     Top = 0
     Hint = 'Zoom to fit'
     Caption = 'ZoomFit'
     Grouped = True
     ImageIndex = 0
     Style = tbsCheck
     OnClick = ZoomToFitClick
   end
   object Zoom100: TToolButton
     Left = 31
     Top = 0
     Hint = '100%'
     Caption = 'Zoom100'
     Grouped = True
     ImageIndex = 1
     Style = tbsCheck
     OnClick = ZoomTo100Click
   end
   object ZoomToWidth: TToolButton
     Left = 54
     Top = 0
     Hint = 'Zoom to width'
     Caption = 'ZoomToWidth'
     Grouped = True
     ImageIndex = 2
     Style = tbsCheck
     OnClick = ZoomToWidthClick
   end
   object Separator1: TToolButton
     Left = 77
     Top = 0
     Width = 8
     Caption = 'Separator1'
     ImageIndex = 3
     Style = tbsDivider
   end
   object FirstPage: TToolButton
     Left = 85
     Top = 0
     Hint = 'First page'
     Caption = 'FirstPage'
     ImageIndex = 3
     OnClick = FirstPageClick
   end
   object PreviousPage: TToolButton
     Left = 108
     Top = 0
     Hint = 'Previous page'
     Caption = 'PreviousPage'
     ImageIndex = 4
     OnClick = PrevPageClick
   end
   object ToolButton2: TToolButton
     Left = 131
     Top = 0
     Hint = 'Next page'
     Caption = 'NextPage'
     ImageIndex = 5
     OnClick = NextPageClick
   end
   object LastPage: TToolButton
     Left = 154
     Top = 0
     Hint = 'Last page'
     Caption = 'LastPage'
     ImageIndex = 6
     OnClick = LastPageClick
   end
   object Separator2: TToolButton
     Left = 177
     Top = 0
     Width = 8
     Caption = 'Separator2'
     ImageIndex = 7
     Style = tbsDivider
   end
   object PrintSetup: TToolButton
     Left = 185
     Top = 0
     Hint = 'Printer setup'
     Caption = 'PrintSetup'
     Enabled = False
     ImageIndex = 7
     OnClick = PrintSetupClick
   end
   object Print: TToolButton
     Left = 208
     Top = 0
     Hint = 'Print'
     Caption = 'Print'
     Enabled = False
     ImageIndex = 8
     OnClick = PrintClick
   end
   object Separator3: TToolButton
     Left = 231
     Top = 0
     Width = 8
     Caption = 'Separator3'
     ImageIndex = 9
     Style = tbsDivider
   end
   object SaveReport: TToolButton
     Left = 239
     Top = 0
     Hint = 'Save Report'
     Caption = 'PrintSetup'
     ImageIndex = 10
     OnClick = SaveClick
   end
   object LoadReport: TToolButton
     Left = 262
     Top = 0
     Hint = 'Load Report'
     Caption = 'Print'
     ImageIndex = 9
     OnClick = LoadClick
   end
   object Separator4: TToolButton
     Left = 285
     Top = 0
     Width = 8
     Caption = 'Separator4'
     ImageIndex = 11
     Style = tbsDivider
   end
   object ExitButton: TSpeedButton
     Left = 293
     Top = 0
     Width = 40
     Height = 22
     Caption = '&Close'
     OnClick = ExitClick
   end
 end
 object QRPreview: TQRPreview
   Left = 0
   Top = 32
   Width = 644
   Height = 506
   HorzScrollBar.Tracking = True
   VertScrollBar.Tracking = True
   Align = alClient
   TabOrder = 2
   OnPageAvailable = QRPreviewPageAvailable
   OnProgressUpdate = QRPreviewProgressUpdate
   PageNumber = 1
   Zoom = 100
 end
 object Images: TImageList
   Left = 54
   Top = 42
   Bitmap = {
     363000
     ...
 end
end

из QuickRpt.dcu
Много текста, но вдруг сможете подсказать


TQuickReport   (2014-12-14 18:00:00) [16]

Германн ©   (14.12.14 17:43) [9]
В чужой программе или в своей?


В моей программе на QuickRep


Германн   (2014-12-14 17:43:00) [17]


> Кнопки по которым хочу программно кликнуть типа TToolButton,
>  находятся на QuickRep

В чужой программе или в своей?


brother   (2014-12-14 17:13:00) [18]

что именно не получилось по примерам ссылки?


TQuickReport   (2014-12-14 17:07:00) [19]

> brother ©   (14.12.14 16:12) [5]
> зы. загуглил за 1 минуту...

К сожалению не помогло.
Кнопки по которым хочу программно кликнуть типа TToolButton, находятся на QuickRep


TQuickReport   (2014-12-14 17:07:00) [20]

> brother ©   (14.12.14 16:12) [5]
> зы. загуглил за 1 минуту...

К сожалению не помогло.
Кнопки по которым хочу программно кликнуть типа TToolButton, находятся на QuickRep


Страницы:   1 2

Наверх

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