![]() |
Re: Form kommt nicht in den Vordergrund, neuer VCL Bug in D2
Hi Andreas,
Zitat:
MainFormOnTaskbar war ja in D2007 grob vereinfacht gesagt ja dazu gedacht, Delphi Vista UI tauglich zu bekommen. Das UI Problem mit Delphi < D2007 und der Hidden Application Form ist ja auch lösbar über andere Ansätze (InstallationExcellence z.B.). Mit diesen Workarounds war es auch möglich, ein korrektes Verhalten zu implementieren. Peter Below hat afaik vor einigen Jahren mal etwas gesagt - frei übersetzt "Leg dich nicht mit der VCL Logik der Forms an". Das stimmt, aber wenn es um den übliche Verhalten von Windows Fenstern geht, ist diese Lösung von MainFormOnTaskBar ein Bug. Höchstens, "As Designed" ... "but it's Design is poor". Es kann nicht sein, daß ein zweites Fenster trotz Aktivierung des MainForm im Vordergrund bleibt. Das entspricht nicht dem jahrelangen Look-And-Feel der UI. Punkt. Ich habe andere Informationen dazu, die ich Dir gleich per PN schicke. Gruß Assertor |
Re: Form kommt nicht in den Vordergrund, neuer VCL Bug in D2
Zitat:
Zitat:
Wenn du das verhalten unter Delphi 2007/2009 samt Windows Vista Unterstützung haben willst musst du CreateParams überschreiben und dort Params.ExStyle |= WS_EX_TOOLWINDOWS; und Params.WndParent := HWND_DESKTOP; einstellen. Zitat:
|
Re: Form kommt nicht in den Vordergrund, neuer VCL Bug in D2
Zitat:
Zitat:
Zitat:
Zitat:
Das grundlegende Änderungen möglich sind, zeigt ja Delphis .NET Geschichte. Oder BDE, Interbase, oder, oder... Trotzdem vielen Dank fürs Brainstorming. Dein Ansatz ist das, was ich jedem empfehlen würde, der vor diesem "Problem" steht bzw. damit durch Kunden konfrontiert wird. Wie so oft entstehen Pseudo-Standards durch Gewöhnung, Anwendungen die hier aus der Reihe tanzen fallen auf - nicht immer positiv. Mit dem Überschreiben von CreateParams läßt sich für wichtige, untergeordnete aber sachlich eigenständige Forms eine eigene Desktop-Zugehörigkeit erreichen. Zusätzlich ließe sich per WS_EX_APPWINDOW ja noch ein eigener Taskbar Button dafür spendieren, ich nutze daher
Delphi-Quellcode:
im CreateParams override.
Params.ExStyle := Params.ExStyle and not WS_EX_TOOLWINDOW or WS_EX_APPWINDOW;
Das reicht mir und hilft vielleicht allen, die ebiges wollen. Gruß und herzlichen Dank, Assertor :dp: |
Re: Form kommt nicht in den Vordergrund, neuer VCL Bug in D2
Zitat:
|
Re: Form kommt nicht in den Vordergrund, neuer VCL Bug in D2
Hi Andreas,
Gute Idee! Dann wären alle glücklich und ich müsste nicht gleich mit der QC-Bugentry-Pistole zielen ;) Zitat:
Mach doch ein Enhancement Request, dann vote ich für Dich :) Gruß Assertor |
Re: Form kommt nicht in den Vordergrund, neuer VCL Bug in D2
Liste der Anhänge anzeigen (Anzahl: 1)
Ich weis das der Thread schon etwas alt ist, aber ich kann das Problem unter Delphi 2007 nicht lösen. Vielleicht habe ich auch etwas übersehen. Aber trotz der veränderten Routine CreateParam klappt es bei mir nicht, das die Hauptform in den Vordergrund kommt. Ich hänge mal das Musterprojekt an.
|
Re: Form kommt nicht in den Vordergrund, VCL Bug in D2007+
Hallo,
ich habe Dein Beispiel nachvollzogen. Es spielt, wenn man das Gedöns bei Form2 statt bei Form1 macht. An alle die vielleicht auch zwischenzeitlich mal den Faden verloren haben: Es geht um das Umschalten zwischen Hauptformular und zweitem Formular. Zwischen dem Zweiten und einem dritten Formular kann man so umschalten, wie bisher (<2007) auch. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:27 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