AGB  ·  Datenschutz  ·  Impressum  







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

always on top trotz showmodal?

Ein Thema von napstar · begonnen am 5. Mär 2013 · letzter Beitrag vom 9. Mär 2013
Antwort Antwort
Furtbichler
(Gast)

n/a Beiträge
 
#1

AW: always on top trotz showmodal?

  Alt 6. Mär 2013, 12:16
Ich hatte mal den Fall, das ich ein modales Fenster hatte und eine nichtmodale Statusanzeige als permanentes Popup-Fenster. Das wäre ein Szenario, wo ich auf das modale Fenster jetzt nicht so verzichten würde, da es das Hauptformular ist.

Das Statusfenster beschreibt einen Systemzustand, sodaß es selbst ontop sein sollte, wenn z.B. der Explorer über die Anwendung gelegt wird. Nervt zwar, ist aber notwendig.
  Mit Zitat antworten Zitat
Benutzerbild von napstar
napstar

Registriert seit: 22. Mär 2007
Ort: München
133 Beiträge
 
Delphi 2007 Architect
 
#2

AW: always on top trotz showmodal?

  Alt 6. Mär 2013, 14:29
alsoo.. die sache ist die...
mein programm läuft im vollbildmodus.. und ich nutze meine hauptform als hintergrund.. und es werden nacheinander verschiedene forms per showmodal angezeigt.. mein hintergrund ist immer im vordergrund (also vor allen anderen programmen).. und die anderen forms die später per showmodal angezeigt werden.. sollten immer vor dem hintergrund sein...
also wenn ich es nicht mit showmodal anzeigen lasse.. ist meine geöffnete form immer im hinter meiner mainform.. selbst wenn ich den formstyle in always on top ändere... also wenn ich ausversehn aufm hintergrund klicke, hab ich ein problem

ich hoffe ich konnte es diesmal besser erklären ^^


@codehunter.. das schau ich mir gleich an wenn ich zuhause bin.. thx

Geändert von napstar ( 6. Mär 2013 um 14:31 Uhr)
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.995 Beiträge
 
Delphi 12 Athens
 
#3

AW: always on top trotz showmodal?

  Alt 6. Mär 2013, 15:43
HWND_TOPMOST
HWND_SUPERTOPMOST
HWND_UBERSUPERTOPMOST

Ich würde mir generell überlegen die Dialoge und Fenster deiner im Vollbild laufenden Anwendung statt auf dem Screen auf der Form anzeigen zu lassen. Damit müsste sich doch das Problem erledigen, oder?
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.283 Beiträge
 
Delphi 12 Athens
 
#4

AW: always on top trotz showmodal?

  Alt 7. Mär 2013, 14:58
Das Schöne an Windows war ja mal, dass man sich eben nicht mehr um das Leveling der einzenen Fenster kümmern musste. Sobald man aber anfängt, genau da wieder einzugreifen, wirds schwierig. Unter meinen Bekannten (selbst langjährige Delphianer) gilt der Grundsatz: Kombiniere nie fsStayOnTop mit ShowModal. Sonst hat man irgendwann ein "Access violation"-Fenster hinter dem Hauptfenster liegen und wundert sich, dass die gefühlte Endlosschleife gar nicht zu einem Stack Overflow führt...

Nachdem was sich jetzt hier so herauskristallisiert würde ich die Anwendung evtl. in ein MDI-Programm umdesignen, die einzelnen Unterfenster dann als MDI-Childs implementieren und schlicht mit BringToFront arbeiten. Dann kann man das Hauptformular Im Vollbild und fsStayOnTop laufen lassen oder eben HWND_TOPMOST. Die MDI-Childs werden immer "obendrauf hocken".
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Benutzerbild von napstar
napstar

Registriert seit: 22. Mär 2007
Ort: München
133 Beiträge
 
Delphi 2007 Architect
 
#5

AW: always on top trotz showmodal?

  Alt 9. Mär 2013, 10:35
Das Schöne an Windows war ja mal, dass man sich eben nicht mehr um das Leveling der einzenen Fenster kümmern musste. Sobald man aber anfängt, genau da wieder einzugreifen, wirds schwierig. Unter meinen Bekannten (selbst langjährige Delphianer) gilt der Grundsatz: Kombiniere nie fsStayOnTop mit ShowModal. Sonst hat man irgendwann ein "Access violation"-Fenster hinter dem Hauptfenster liegen und wundert sich, dass die gefühlte Endlosschleife gar nicht zu einem Stack Overflow führt...

Nachdem was sich jetzt hier so herauskristallisiert würde ich die Anwendung evtl. in ein MDI-Programm umdesignen, die einzelnen Unterfenster dann als MDI-Childs implementieren und schlicht mit BringToFront arbeiten. Dann kann man das Hauptformular Im Vollbild und fsStayOnTop laufen lassen oder eben HWND_TOPMOST. Die MDI-Childs werden immer "obendrauf hocken".
hey ... bin eigentlich schon fertig mit dem projekt.. und ich lass es erstmal so da ich mittlerweile an einem anderen projekt arbeite ... aber dein vorschlag hört sich eigentlich ganz gut an... ich werde versuchen das in der nächsten version zu ergänzen..
sowas hab ich noch nie gemacht ^^.. aber wird schon hinhauen...
thx nochmal an alle die geholfen haben..
  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 12:04 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