Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   fsStayOnTop (https://www.delphipraxis.net/42585-fsstayontop.html)

Nisbo 21. Mär 2005 10:51


fsStayOnTop
 
Moin Moin,

ich versuche gerade zur Laufzeit das aktuelle Fenster auf "TOP" zu setzen nur leider funktioniert das nicht

Delphi-Quellcode:
           if CheckBox3.Checked = true then
               begin
                  // Form7.FormStyle := fsStayOnTop;
                  FormStyle := fsStayOnTop;
               end;
               
           if CheckBox3.Checked = false then
               begin
                  FormStyle := fsNormal;
               end;
also habe auch schon die momentan auskommentierte Zeile versucht
mit

Delphi-Quellcode:
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE);
funktoniert zumindest das "TOP" machen, nur wie macht man das in diesem fall ganze wieder rückgängig ?

sniper_w 21. Mär 2005 10:57

Re: fsStayOnTop
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
 if CheckBox1.Checked then FormStyle := fsStayOnTop else FormStyle := fsNormal;
end;
Bei mir funct das wunderbar... :roll:

Nisbo 21. Mär 2005 10:59

Re: fsStayOnTop
 
dann ist das wieder mal eines der vielen Lazarus-Probleme :(

Luckie 21. Mär 2005 11:01

Re: fsStayOnTop
 
Man sollte vielleichz mal die Hilfe zu Rate ziehen:
Zitat:

Note: It is not advisable to change FormStyle at runtime.

Nisbo 21. Mär 2005 11:16

Re: fsStayOnTop
 
welche Hilfe ? Die die bei Delphi dabei ist ? Geht doch nicht, habe Lazarus ;)

Ich bastel gerade an einem Screenshot-Programm und da möchte ich halt die Option haben das die Leiste auch immer on Top bleibt, wie auch immer das realisiert wird :gruebel:

sinn ist ja das man schnell mal auf einen Button drückt um einen Shot zu machen ohne erst das Programm in den Vordergrund zu holen

Binärbaum 21. Mär 2005 15:05

Re: fsStayOnTop
 
Zitat:

Zitat von Luckie
Man sollte vielleichz mal die Hilfe zu Rate ziehen:
Zitat:

Note: It is not advisable to change FormStyle at runtime.

Das sollte aber noch lange nicht heißen, dass es nicht möglich ist. :zwinker:

MfG
Binärbaum

alcaeus 21. Mär 2005 15:07

Re: fsStayOnTop
 
Zitat:

Zitat von Binärbaum
Das sollte aber noch lange nicht heißen, dass es nicht möglich ist. :zwinker:

Das sollte aber heißen, dass davon abgeraten wird. Oder fährst du auch mit 180 auf einen Baum, nur weil es nicht unmöglich ist? :roll:
Einen Grund für die Aussage wirds schon geben, und wenn es nur die Faulheit der Programmierer war, zur Laufzeit auf die Änderung zu reagieren *g*

Greetz
alcaeus

Nisbo 21. Mär 2005 15:40

Re: fsStayOnTop
 
Liste der Anhänge anzeigen (Anzahl: 1)
Es gibt aber genug Programme die sowas anbieten, deswegen frage ich ja, ich habe auch mal das versucht

Delphi-Quellcode:
           if CheckBox3.Checked = true then
               begin
                  SetWindowPos(FindWindow(nil, 'Screenshot'), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE);

               end;
               
           if CheckBox3.Checked = false then
               begin
                  SetWindowPos(FindWindow(nil, 'Screenshot'), HWND_NOTOPMOST,0,0,0,0,SWP_NOSIZE or SWP_NOMOVE);
               end;
allerdings wird das nach dem kompilen lustig da ich aus form 1 nicht mehr ins Menü komme um Form7 wo der code eingefügt ist aufzurufen, der klappt mir dann gleich wieder das menü zu :(

Luckie 21. Mär 2005 18:09

Re: fsStayOnTop
 
Zitat:

Zitat von Nisbo
Es gibt aber genug Programme die sowas anbieten,

Die werden dazu wahrscheinlich direkt die API Funktion MSDN-Library durchsuchenSetWindowPos nehmen.

Airblader 21. Mär 2005 18:24

Re: fsStayOnTop
 
Zitat:

Zitat von Luckie
Zitat:

Zitat von Nisbo
Es gibt aber genug Programme die sowas anbieten,

Die werden dazu wahrscheinlich direkt die API Funktion MSDN-Library durchsuchenSetWindowPos nehmen.

Hat er ja auch, aber er fragt wie man entsprechendes mit selbiger Funktion rückgängig machen kann ;)


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