![]() |
Eine Form immer anzeigen (OnTop) - auch bei Spielen!
Hi,
Ich habe erkannt, dass das Thema ![]()
Delphi-Quellcode:
Für "normale" Programme, die lediglich Fenster bzw. Forms mit 2D-Inhalten benutzen, funktioniert diese Methode. Lediglich bei Vollbild-Spielen und 3D-Inhalten wird Form3 überdeckt.
type
TForm3 = class(TForm) //... private { Private-Deklarationen } procedure CreateParams(var Params: TCreateParams); override; public { Public-Deklarationen } end; //... procedure TForm3.CreateParams(var Params: TCreateParams); begin inherited; // Flags setzen Params.Style := Params.Style or WS_OVERLAPPED; // Parent auf "Desktop" setzen Params.WndParent := GetDesktopWindow; end; Nun zur Essenz dieses Threads: (Wie) Ist es möglich, eine Form so darzustellen, dass sie immer als oberstes Fenster erscheint; Auch, wenn 3D Inhalte dargestellt werden. Beispiel: XFire InGame-PopUps Über jede Hilfe wäre ich sehr dankbar. Bitte startet aber nicht noch eine Diskussion über die Anwendung bzw. den Sinn eines solchen oder ähnlichen Forms... :wall: |
Re: Eine Form immer anzeigen (OnTop) - auch bei Spielen!
Hi,
hast du es mal mit
Delphi-Quellcode:
MyForm := TForm.Create(self);
Application.NormalizeTopMosts; SetWindowPos(MyForm.Handle, HWND_TOPMOST, 0,0,0,0, SWP_NOACTIVATE+SWP_NOMOVE+SWP_NOSIZE); MyForm.Show; probiert? Das kann laut Dokumentation z.B. für Meldungsfenster genutzt werden, die dann auch über den Fenstern im Vordergrund liegen dürfen, auch wenn diese den FormStyle-Wert fsStayOnTop haben. Ob das dann auch für Spiele etc. gilt, kann ich dir nicht sagen. Gruss BlackDragon |
Re: Eine Form immer anzeigen (OnTop) - auch bei Spielen!
Bei Vollbildanwendungen bei OpenGL oder DirectX kann es zu Problemen damit kommen und/oder das Fenster wird nicht angezeigt.
Themen dazu hatten wir dazu schon in der DP durchgekaut. ;) |
Re: Eine Form immer anzeigen (OnTop) - auch bei Spielen!
<==== OFFTOPIC ====>
Zitat:
Zitat:
<==== OFFTOPIC ====> |
Re: Eine Form immer anzeigen (OnTop) - auch bei Spielen!
Zitat:
|
Re: Eine Form immer anzeigen (OnTop) - auch bei Spielen!
Ich weiß eure "Besorgnis" zu schätzen, aber ein Kollege von mir hat gemeint, dass es THEORETISCH möglich sei mit einer entsprechenden DirektX-Komponent einen Form "direkt auf den Bildschirm" zu zeichnen... Mein Form3 enthält ja nur ein bisschen Text und ein TImage. An Interaktivität muss er nur anclickbar sein; Das war's... Es muss doch irgendwo einen einfachen Ansatz geben, oder? (auch wenn dieser nich für alle 3d-Anwednung gilt)
|
Re: Eine Form immer anzeigen (OnTop) - auch bei Spielen!
Zitat:
Edit: vielleicht hilft ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:33 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