AGB  ·  Datenschutz  ·  Impressum  







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

OnClick ohne Focus zu setzen

Ein Thema von sonny2007 · begonnen am 14. Aug 2014 · letzter Beitrag vom 14. Aug 2014
Antwort Antwort
sonny2007

Registriert seit: 27. Aug 2009
39 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

OnClick ohne Focus zu setzen

  Alt 14. Aug 2014, 10:14
Hi Delphianer ,

folgendes Problem.
Ich habe mir ein simples Overlay für ein Spiel programmiert. Dieses Game läuft im "Vollbild im Fenster Modus", so das ich weiterhin alle WinApi Elemente verwenden kann.
Mit CreateParams,Exstyle und Topmost sitzt das Fenster auch super an oberster stelle und ist dank Glasframe schön transparent.
Nun aber der Kniff.

Ich habe ein Label auf dieser Form. Jedes mal wenn ich auf das Label(bzw Form) klicke wird die Taskleiste eingeblendet, was ein wenig den Spielfluss stört. Gibt es irgendeine Möglichkeit mein OnclickEvent auszulösen, mit einem Mausklick, ohne dabei die Taskleiste in den Vordergrund zu holen ?

Grüße s0n
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: OnClick ohne Focus zu setzen

  Alt 14. Aug 2014, 10:31
Einfach dem ExStyle ein WS_EX_NOACTIVATE hinzufügen?
  Mit Zitat antworten Zitat
sonny2007

Registriert seit: 27. Aug 2009
39 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: OnClick ohne Focus zu setzen

  Alt 14. Aug 2014, 10:43
thx,

aber es will nicht funktionieren !

folgendes habe ich ausprobiert !

Delphi-Quellcode:
procedure TfrmMain.CreateParams(var Params: TCreateParams);
begin
  inherited;
  with Params do
    begin
      ExStyle := ExStyle or WS_EX_TOPMOST AND WS_EX_NOACTIVATE; //<--- AND Variante
      WndParent := 0;
    end;
end;
Delphi-Quellcode:
procedure TfrmMain.CreateParams(var Params: TCreateParams);
begin
  inherited;
  with Params do
    begin
      ExStyle := ExStyle or WS_EX_TOPMOST OR WS_EX_NOACTIVATE; //<--- Or Variante
      WndParent := 0;
    end;
end;
Bei beiden zeigt er immer wieder die Taskleiste mit an, wenn ich draufklicke !
Was mache ich da falsch ?
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: OnClick ohne Focus zu setzen

  Alt 14. Aug 2014, 10:55
Also bei mir klappt es.

Vollbild-Anwendung: Einfach ein Formular mit windowState = wsMaximized und borderStyle = bsNone.
Auf Knopfdruck startet er das Overlay:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
   si: TStartupInfo;
   pi:   TProcessInformation;
begin
   si := Default(TstartupInfo);
   si.cb := SizeOf(TStartupInfo);
   si.wShowWindow := SW_SHOWNOACTIVATE;

   pi := Default(TProcessInformation);

   CreateProcess(
      '.\OverlayApp.exe',
      nil,
      nil,
      nil,
      False,
      0,
      nil,
      nil,
      si,
      pi
   );
end;
Und die Overlay-Anwendung hat in den CreateParams nur
Delphi-Quellcode:
procedure TForm2.CreateParams(var Params: TCreateParams);
begin
   inherited;
    Params.ExStyle := Params.ExStyle or WS_EX_NOACTIVATE or WS_EX_TOPMOST;
end;
  Mit Zitat antworten Zitat
sonny2007

Registriert seit: 27. Aug 2009
39 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: OnClick ohne Focus zu setzen

  Alt 14. Aug 2014, 11:12
Ahso vielleicht habe ich mich falsch ausgedrückt ...

Ich habe ein Spiel das nicht von mir kommt. Mein Overlay bedeckt nur einen kleinen Teil des Screens.
Soll heißen meine Anwendung ist seperat.

Aufbau meiner Anwendung.
MainForm nicht Vollbild, da ich ja das Game weiterhin benutzen möchte
Overlay1form
overlay2form
etc...

und bei klick auf Overlay1form bspw holt er mir immer die Taskleiste mit raus. ich habe in die Overlay1form und in die mainform Exstyle eingefügt !
  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 05:57 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