AGB  ·  Datenschutz  ·  Impressum  







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

Botschaft bei Aktivieren eines Fensters

Ein Thema von oki · begonnen am 5. Mär 2009 · letzter Beitrag vom 5. Mär 2009
Antwort Antwort
Seite 2 von 2     12   
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#11

Re: Botschaft bei Aktivieren eines Fensters

  Alt 5. Mär 2009, 15:43
Noch mal zum Geraderücken. Ich hatte Bernhards Beitrag so verstanden, dass ich eine eigene Botschaft implementiere. Auf den Gedanken vorhandene Ereignisse zu verwenden hätte ich eigentlich kommen müssen. Aber manchmal hat man es eben schwer.

Gruß oki
42
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Botschaft bei Aktivieren eines Fensters

  Alt 5. Mär 2009, 15:55
Ach jetzt verstehe ich das erst.

Damit sollten für spätere Leser des Threads dann auch alle Klarheiten restlos beseitigt sein.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Botschaft bei Aktivieren eines Fensters

  Alt 5. Mär 2009, 16:45
Hi,

was spricht gegen Screen.OnActiveFormChange?

Gruß, Frank
Frank Reim
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Botschaft bei Aktivieren eines Fensters

  Alt 5. Mär 2009, 16:48
Diese am Anfang genannte Anforderung:
Zitat von oki:
jetzt möchte ich, dass beim Aktivieren eines der Fenster mein MainForm automatisch mitbekommt, welches Fenster gerade deaktiviert und welches aktiviert wurde.
Das geht nur mit OnActivate und OnDeactivate.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#15

Re: Botschaft bei Aktivieren eines Fensters

  Alt 5. Mär 2009, 16:49
Hi Dataspider,

wird das Ereignis von allen Formularen ausgelöst oder nur von den TopLevel-Formularen? Ich teste das mal.

Gruß oki
42
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#16

Re: Botschaft bei Aktivieren eines Fensters

  Alt 5. Mär 2009, 16:52
Das sagt die Hilfe zu OnActiveFormChange:
Zitat:
In einer Ereignisbehandlungsroutine für OnActiveFormChange können Sie eine Aktion festlegen, die ausgeführt werden soll, wenn ein neues Formular aktiviert wird. OnActiveFormChange tritt ein, wenn sich das aktive Formular einer Anwendung ändert, jedoch nicht, wenn ein Formular aktiv wird, weil die Anwendung aktiviert wurde.
Hört sich nicht so gut an.

grup oki
42
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: Botschaft bei Aktivieren eines Fensters

  Alt 5. Mär 2009, 17:06
Ja, aber es wird IMHO sehr wohl ausgelöst, wenn die Anwendung durch Klick auf ein Form (welches vorher nicht das aktive war) aktiviert wird.

Cu, Frank
Frank Reim
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#18

Re: Botschaft bei Aktivieren eines Fensters

  Alt 5. Mär 2009, 17:09
Auch ohne Click? Z.B. wenn es per Code creiert und mit Show angezeigt wird?

Gruß
42
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Botschaft bei Aktivieren eines Fensters

  Alt 5. Mär 2009, 17:30
Zitat von oki:
Auch ohne Click? Z.B. wenn es per Code creiert und mit Show angezeigt wird?
Delphi-Quellcode:
procedure TForm2.ActiveFormChange(Sender: TObject);
begin
  MessageDlg(Screen.ActiveForm.ClassName, mtInformation, [mbOK], 0);
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
  Screen.OnActiveFormChange := ActiveFormChange;
  with TForm5.Create(Application) do
    Show;
end;
Zumindest wird hier das Ereignis ausgelöst und die MessageBox zeigt mir TForm5 an.

Cu, Frank
Frank Reim
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#20

Re: Botschaft bei Aktivieren eines Fensters

  Alt 5. Mär 2009, 17:32
Hi Dataspider,

dann ist das auch ein gangbarer Weg und man kann die Ereignisse frei lassen. Dank für die Mühe.

Gruß oki
42
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 00:50 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