Einzelnen Beitrag anzeigen

Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#1

Eine Form immer anzeigen (OnTop) - auch bei Spielen!

  Alt 8. Mär 2009, 19:41
Hi,

Ich habe erkannt, dass das Thema Hier im Forum suchenForm StayOnTop schon heiß diskutiert wird. Allerdings geht es mir um einen spezielleren Fall. Ich würde gerne eine kleine Form (originell Form3 genannt ) immer "über" alle anderen Fenster und Programmen (d.h. auch Vollbildschirm-anwendungen wie Spiele und 3D-Applets mit Java oder Flash) anzeigen. Im Thread "Form unschliessbar und onTop machen?" von Novo gibt es viele unterschiedliche Meinungen ob ein solchen Programm möglich/sinnvoll/legal/schädlich oder nicht ist . Ich sage dazu nur: XFire! XFire hat nämlich die Funktion seine Aktivität beim Starten von Spielen durch einen "OnTop"-PopUp bemerkbar zu machen. Dieses PopUp, dass immer unten rechts im Bildschirm auftaucht, ist nie von anderen Fenstern bzw. von visuellen Elementen bedeckt. Nun zu meiner Form3; Ich habe aus Novos Thread folgenden Code entnommen:

Delphi-Quellcode:
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;
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.

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...
  Mit Zitat antworten Zitat