AGB  ·  Datenschutz  ·  Impressum  







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

ShowModal und Taskbar-Button

Ein Thema von Motzi · begonnen am 31. Aug 2006 · letzter Beitrag vom 1. Sep 2006
Antwort Antwort
Benutzerbild von Motzi
Motzi

Registriert seit: 6. Aug 2002
Ort: Wien
598 Beiträge
 
Delphi XE2 Professional
 
#1

ShowModal und Taskbar-Button

  Alt 31. Aug 2006, 19:00
Hi,

wenn ich in einem Programm per ShowModal eine Form anzeige, kann ich ja keine andere Form aktivieren, solange die modale Form offen ist. Auch wenn ich das Programm über den Taskbar-Eintrag aktiviere (der ja eigentlich zum TApplication-Fenster gehört) wird die modale Form aktiviert - so wie es sein sollte.

Ich hab jetzt ein Programm bei dem (aus hier nicht näher erläuterten Gründen) der Standard-Taskbar-Eintrag von TApplication deaktiviert ist. Stattdessen bekommen manche Fenster einen eigenen Eintrag durch setzen des WS_EX_APPWINDOW-Styles. Wenn ich jetzt von einer solchen Form (ich nenne sie Form1) aus eine Form (Form2) per ShowModal öffne, so kann man über den Taskbar-Eintrag Form1, welche ja durch den Aufruf von ShowModal disabled ist, aktivieren. Form1 ist zwar disabled und reagiert auf keine Eingaben, aber dennoch wird sie aktiviert und in den Vordergrund geholt, anstatt dass Form2 aktiviert wird. Wie kann man das verhindern bzw. wie macht das die VCL? Ich hab lange gesucht und in den VCL-Source gedebuggt, hab aber nichts gefunden.. Weiß jemand rat?

Gruß, Motzi
Manuel Pöter
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: ShowModal und Taskbar-Button

  Alt 1. Sep 2006, 08:23
Also ich hab das jetzt 3x durchgelesen und nicht verstanden, was Du eigentlich willst.
Könntest Du das vielleicht ausführlicher und besser verständlich erklären?
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
DocBorn

Registriert seit: 7. Jul 2006
Ort: Bonn
26 Beiträge
 
#3

Re: ShowModal und Taskbar-Button

  Alt 1. Sep 2006, 11:10
also ich habs so verstanden:

er hat 2 Formulare, jedes von ihnen hat einen Taskbar-Eintrag, er ruft in Form1 folgendes auf

Form2.ShowModal; wenn er jetzt aber den Taskbar-Eintrag von Form in der Taskleiste anklickt kommt Form1 in den Vordergrund, eigentlich sollte aber Form2 in den Vordergrund kommen.

Kann aber leider nicht helfen

Lg Lars
  Mit Zitat antworten Zitat
Benutzerbild von Motzi
Motzi

Registriert seit: 6. Aug 2002
Ort: Wien
598 Beiträge
 
Delphi XE2 Professional
 
#4

Re: ShowModal und Taskbar-Button

  Alt 1. Sep 2006, 13:32
Ich weiß, es ist ein bisschen kompliziert zum Erklären. Ich hab mal ein kleines Demo-Programm angehängt, das zeigt was ich meine.
Wenn man das Programm startet hat man eine Form und zwei Taskbar-Einträge - der eine gehört zum Application-Fenster, der andere zu der Form. Wenn man auf den Button klickt wird ein 2tes Fenster per ShowModal angezeigt, dh Form1 ist disabled. Wenn man allerdings auf den Taskbar-Eintrag von Form1 klickt wird diese dennoch aktiviert und in den Vordergrund geholt. Beim Taskbar-Eintrag vo, TApplication-Fenster wird korrekt die modale Form aktiviert.

Gruß, Motzi
Angehängte Dateien
Dateityp: exe project1_377.exe (454,0 KB, 4x aufgerufen)
Manuel Pöter
  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 17:52 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