AGB  ·  Datenschutz  ·  Impressum  







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

Geöffnete Forms auslesen/ermitteln?

Ein Thema von MCXSC · begonnen am 9. Jan 2009 · letzter Beitrag vom 9. Jan 2009
Antwort Antwort
MCXSC
(Gast)

n/a Beiträge
 
#1

Geöffnete Forms auslesen/ermitteln?

  Alt 9. Jan 2009, 02:07
Hallo,

eine kleine Frage bezüglich geöffneter Fenster eines Programmes.

Und zwar würde ich gerne folgende Dinge auslesen können (jeweils immer nur vom eigenen Programm):

-> Geöffnete Forms
-> Form, das ganz oben liegt

Ich weiß allerdings weder ob das überhaupt möglich ist, noch wie ich das bewerkstelligen sollte...

Danke,
MCXSC
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#2

Re: Geöffnete Forms auslesen/ermitteln?

  Alt 9. Jan 2009, 04:07
zB mit:

Delphi-Quellcode:
   var i:Integer;
begin
   Memo1.Lines.Clear;

   For i:=0 to Screen.FormCount-1 do
      Memo1.Lines.Add(Screen.Forms[i].Caption{oder .Name});
Die 1. Form, die Du bekommst ist im Vordergrund (sofern Deine Anwendung den Fokus hat).
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#3

Re: Geöffnete Forms auslesen/ermitteln?

  Alt 9. Jan 2009, 19:33
Super, danke!

Gibt es auch noch die Möglichkeit zu testen, ob irgendein Dialog (Öffnen, Speichern, MessageDlg, ...) geöffnet ist?
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#4

Re: Geöffnete Forms auslesen/ermitteln?

  Alt 9. Jan 2009, 20:09
Ob ein Dialogfeld geöffnet ist weißt Du ja, denn

Delphi-Quellcode:
ShowMessage('Vorm Dialog');
// hier wird gewartet, bis Du das Meldungsfenster weg klickst

// Dann kommt das OpenDialog
OpenDialog1.Ecxecute;
// und wartet wieder, bis Du es weg klickst

// Und nochma
ShowMessage('Nach dem Dialog');
// Du weißt bescheid ;)
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#5

Re: Geöffnete Forms auslesen/ermitteln?

  Alt 9. Jan 2009, 20:11
Ja, das weiß ich ja.

Ich suche aber eher was nach dem Motto:

if IrgendeinDialogFenster then
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#6

Re: Geöffnete Forms auslesen/ermitteln?

  Alt 9. Jan 2009, 20:13
Moin, Moin,
mit
Delphi-Quellcode:
with Application do
  for i:=0 to ComponentCount-1 do
    if Components[i] is TForm then begin
      // ..
      // prüfe, welches Form gefunden wurde
      // und nutze das Ergebnis
      for j:=0 to Components[i].ComponentCount-1 do
        if Components[i].Components[j] is ~~ then // < Typ der gesuchten Komponente einsetzen
          // ..
          // prüfe, welche Komponente gefunden wurde
          // und nutze das Ergebnis
      end;
werden alle Formulare und Komponenten deiner Anwendung "durchlaufen".
Vielleicht hilft es dir.
Ralph
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Geöffnete Forms auslesen/ermitteln?

  Alt 9. Jan 2009, 20:25
Viele Dialoge sind Systemdialoge und nicht in der Komponenten- btw. Forms-Kollektion enthalten. Soweit ich mich erinnere, sind das Fenster mit dem Klassennamen '#32768'. Du könntest also schauen, ob ein Child-Fenster deiner Anwendung diesen Klassennamen besitzt. Dazu musst du die Kindfenster mit MSDN-Library durchsuchenEnumChildwindows durchlaufen.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#8

Re: Geöffnete Forms auslesen/ermitteln?

  Alt 9. Jan 2009, 20:26
Hm, das greift aber nicht auf OpenXXXDialog/MessageDlg/etc. zu?
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#9

Re: Geöffnete Forms auslesen/ermitteln?

  Alt 9. Jan 2009, 20:31
alzaimar hat natürlich Recht, also einfach ausprobieren.
Aber selbst wenn es dir im Augenblick nicht hilft, in einem anderen Fall kannst du es bestimmt noch mal verwenden.
Ralph
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#10

Re: Geöffnete Forms auslesen/ermitteln?

  Alt 9. Jan 2009, 21:23
Zitat von MCXSC:
Hm, das greift aber nicht auf OpenXXXDialog/MessageDlg/etc. zu?
Zu früh gefreut... Neee.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz