Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Durchklickbares fenster immer im fordergrund anzeigen? (https://www.delphipraxis.net/141103-durchklickbares-fenster-immer-im-fordergrund-anzeigen.html)

IIIMADDINIII 2. Okt 2009 16:58


Durchklickbares fenster immer im fordergrund anzeigen?
 
hallo,

ich möchte ein durchklickbares fenster immer im vordergrund angezeigt haben. ich glaube dass sich diese beiden eigenschaften nicht vertragen, weil ich schon einige sachen ausprobiert habe aber nicht funcen. der cod zum durchklickbar machen ist der hier:

Delphi-Quellcode:
procedure TForm2.FormCreate(Sender: TObject);
begin
  SetWindowLong(Handle, GWL_EXSTYLE, getWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TRANSPARENT or WS_EX_LAYERED);
end;
maddin

himitsu 2. Okt 2009 17:11

Re: Durchklickbares fenster immer im fordergrund anzeigen?
 
Ich hab jetzt zwar keine Ahnung, aber vor 2-3 Jahren gab's hier einige Programme bezüglich Schneeflocken auf dem Monitor und da war auch eines (von den 2-3 Programmen), welches nette Weise durchklickbar war (also die vielen kleinen Sterne/Fensterchen)

turboPASCAL 2. Okt 2009 18:14

Re: Durchklickbares fenster immer im fordergrund anzeigen?
 
Och, das geht schon.

Aber man muss die Reihenfolge beachten.

Delphi-Quellcode:
procedure TForm.FormCreate...
begin
  AlphaBlend := true; // hier wird das Fenster auf WS_EX_LAYERED gesetzt
  AlphaBlendValue := 128;

  // BorderStyle := bsNone;
  // windowState := wsMaximized;

  FormStyle := fsStayOnTop;
  SetWindowLong(Handle, GWL_EXSTYLE, getWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TRANSPARENT);
end;

IIIMADDINIII 2. Okt 2009 21:53

Re: Durchklickbares fenster immer im fordergrund anzeigen?
 
leider muss ich euch enteuschen.

zwei fehler gibt es.

1. ich möchte die anwendung über alle fenster (auch die von den anderen anwendungen) überdecken

2 wenn ich das mit dem code mache und die reinfolge ändere hat sich auch nichts geändert

Delphi-Quellcode:
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE);
ich bitte um hilfe


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:20 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