AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Quickreport Preview per Code schließen

Ein Thema von norwegen60 · begonnen am 12. Jul 2022 · letzter Beitrag vom 13. Jul 2022
Antwort Antwort
Seite 1 von 2  1 2      
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
529 Beiträge
 
Delphi 12 Athens
 
#1

AW: Quickreport Preview per Code schließen

  Alt 12. Jul 2022, 13:05
Nur so eine Idee, aber die Preview hat doch ein Fenster und somit ein Handle. Es müsste genügen, wenn du da ein WM_CLOSE hinschickst.
Idee schien gut, aber ich finde den Handle des Preview nicht.
Mit FHwnd := FindWindow(nil, 'Report Preview: Media-List Report') bekomme ich 0. Auch wenn ich FindWindowEx verwende
  Mit Zitat antworten Zitat
Poelser

Registriert seit: 21. Apr 2008
Ort: Europa
145 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Quickreport Preview per Code schließen

  Alt 12. Jul 2022, 13:22
Idee schien gut, aber ich finde den Handle des Preview nicht.
Mit FHwnd := FindWindow(nil, 'Report Preview: Media-List Report') bekomme ich 0. Auch wenn ich FindWindowEx verwende
Und was ist mit rptMediaList.qrMediaList.Handle , die Preview müsste doch ein Handle haben?
LG aus dem hohen Norden, Edmund
  Mit Zitat antworten Zitat
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
529 Beiträge
 
Delphi 12 Athens
 
#3

AW: Quickreport Preview per Code schließen

  Alt 12. Jul 2022, 13:49
Und was ist mit rptMediaList.qrMediaList.Handle , die Preview müsste doch ein Handle haben?
Damit bekomme ich natürlich ein Handle. Der schließt aber immer noch nicht das Quick-Report-Preview-Fenster.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Quickreport Preview per Code schließen

  Alt 12. Jul 2022, 14:04
Und was ist mit rptMediaList.qrMediaList.Handle , die Preview müsste doch ein Handle haben?
Damit bekomme ich natürlich ein Handle. Der schließt aber immer noch nicht das Quick-Report-Preview-Fenster.
Und wenn Du GetParent(rptMediaList.qrMediaList.Handle) nutzt?
Oder GetWindow(rptMediaList.qrMediaList.Handle, GW_OWNER) ?
Gruß vom KodeZwerg

Geändert von KodeZwerg (12. Jul 2022 um 14:29 Uhr)
  Mit Zitat antworten Zitat
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
529 Beiträge
 
Delphi 12 Athens
 
#5

AW: Quickreport Preview per Code schließen

  Alt 12. Jul 2022, 14:34
[QUOTE=KodeZwerg;1508704]
Und wenn Du GetParent(rptMediaList.qrMediaList.Handle) nutzt?
Schließt den PreView auch nicht. Der PreView müsste aber doch eher ein Child als ein Parent von rptMediaList.qrMediaList sein. Oder täusche ich mich

Ich habe auch noch
Delphi-Quellcode:
        for i := Screen.CustomFormCount - 1 downTo 0 do
        begin
          sName := TCustomForm((Screen.CustomForms[i])).ClassName;
          if (Screen.CustomForms[i] is TQRStandardPreview) then
          begin
            FHwnd := GetParent(Screen.CustomForms[i].Handle);
            TQRStandardPreview(Screen.CustomForms[i]).Close; // oder close
            SendMessage(FHwnd, WM_CLOSE, 0, 0);

          end;
        end;
versucht, also den Parent des eigentlichen Reports. Aber auch das hat das PreView-Fenster nicht geschlossen

Ich habe mit der Schleife auch mal alle, außer dem Main geschlossen.
Delphi-Quellcode:
          else if (Screen.CustomForms[i] is TCustomForm) then
          begin
            if (TCustomForm((Screen.CustomForms[i])).Name <> 'frmMain') then
              TCustomForm(Screen.CustomForms[I]).Close;
          end;
Selbst dann blieb der PreView offen.
  Mit Zitat antworten Zitat
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
498 Beiträge
 
Delphi 12 Athens
 
#6

AW: Quickreport Preview per Code schließen

  Alt 12. Jul 2022, 14:45
Was ein Close verhindern könnte ist OnCloseQuery.
Gibt es in dem Form ein OnCloseQuery, dann setze das mal vor dem close auf nil.

Delphi-Quellcode:
TQRStandardPreview(Screen.CustomForms[i]).OnCloseQuery := nil;
TQRStandardPreview(Screen.CustomForms[i]).Close;
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.566 Beiträge
 
Delphi 7 Professional
 
#7

AW: Quickreport Preview per Code schließen

  Alt 12. Jul 2022, 16:26
Und was ist damit?

rptMediaList.qrMediaList.PrevFormStyle := fsStayOnTop;

Mal vor dem Schließen auf was anderes ändern? Z. B. fsNormal?
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Quickreport Preview per Code schließen

  Alt 13. Jul 2022, 07:22
Oder GetWindow(rptMediaList.qrMediaList.Handle, GW_OWNER) ?
Das auch schon probiert?

//edit
Ansonsten mal beim Author fragen wie es gedacht ist? qusoft.com
Gruß vom KodeZwerg

Geändert von KodeZwerg (13. Jul 2022 um 07:26 Uhr)
  Mit Zitat antworten Zitat
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
498 Beiträge
 
Delphi 12 Athens
 
#9

AW: Quickreport Preview per Code schließen

  Alt 12. Jul 2022, 13:24
Wenn du die Klasse kennst bzw TQRStandardPreview verwendest, dann kannst du das mal versuchen:
Delphi-Quellcode:
    
  for i := 0 to Screen.CustomFormCount - 1 do
      if (Screen.CustomForms[I] is TQRStandardPreview) then
        TQRStandardPreview(Screen.CustomForms[I]).Release; // oder close
Ich hab das nur hingetippt und nicht getestet.
  Mit Zitat antworten Zitat
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
529 Beiträge
 
Delphi 12 Athens
 
#10

AW: Quickreport Preview per Code schließen

  Alt 12. Jul 2022, 13:40
Wenn du die Klasse kennst bzw TQRStandardPreview verwendest, dann kannst du das mal versuchen:
Delphi-Quellcode:
    
  for i := 0 to Screen.CustomFormCount - 1 do
      if (Screen.CustomForms[I] is TQRStandardPreview) then
        TQRStandardPreview(Screen.CustomForms[I]).Release; // oder close
Ich hab das nur hingetippt und nicht getestet.
Mit .Release passiert nichts aber mit .Close schließt er den Report auf dem PreView-Fenster. Dann bleibt aber immer noch das leere Preview-Fenster stehen. D.h. das Fenster in dem man den Report vergrößern, verkleinern, Sichern, Blättern kann.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz