Entwickler-Ecke
Windows API - Stay on top
elundril - Di 16.05.06 16:51
Titel: Stay on top
Ich habe da mal so ein ähh Formular. und ähhh ich will das es immer im Vordergrund bleibt. nur ähhh das ähh tut es nicht so ganz. ich hab schon den formstyle auf fsStay on top gesetzt nur es will noch immer nicht!!!
ich bin verzweifelt!
was soll ich nur tun???
^^
azubi_20 - Di 16.05.06 17:25
komisch...
eigentlich müsste es so funktionieren.
elundril hat folgendes geschrieben: |
nur ähhh das ähh tut es nicht so ganz. |
was tut es denn ?
elundril - Di 16.05.06 17:27
wenn ich zb Word aufruf dann ist das Programm hinter dem Word. Mein Vater (hauptberuflicher VB programmierer) hat mir gezwitschert das es da ne api funktion gibt! nur möcht ich wissen wie sie heißt und wie man sie aufruft!
azubi_20 - Di 16.05.06 17:46
elundril hat folgendes geschrieben: |
wenn ich zb Word aufruf dann ist das Programm hinter dem Word. |
kann ich leider nicht nachvollziehen... Bei mir steht di Form immer im Vordergrund, egal ob ich word oder was anderes aufmache :roll:
magnitudo - Di 16.05.06 17:52
elundril hat folgendes geschrieben: |
wenn ich zb Word aufruf dann ist das Programm hinter dem Word. Mein Vater (hauptberuflicher VB programmierer) hat mir gezwitschert das es da ne api funktion gibt! nur möcht ich wissen wie sie heißt und wie man sie aufruft! |
Hallo elundril,
stimmt ! Das Phänomen kenne ich. Hab in meiner Anwendung unter Settings auch ein Häkchen eingebaut mit dem der User die Anwendung auf OnTop stellen kann, wenn er will. Dies funktioniert aber leider nicht perfekt ! Meistens ist die Anwendung dann zu Beginn tatsächlich OnTop. Wird aber währenddessen Word oder eine andere Anwendung gestartet, dann verliert meine OnTop gestelle Aplikation sporadisch (ich weis leider nicht wie und wann das passiert) sein OnTop.
Ich muss dann das Häkchen aus/an - Klicken damit OnTop wieder funktioniert ! Seltsam oder ?
Anscheinend verliert dieses OnTop-Flag, bedingt durch andere parallel laufende Anwendungen immer wieder seinen Wert.
Vielleicht finden wir ja noch die Lösung
Viele Grüße
Thomas
elundril - Mi 17.05.06 19:54
viel leicht immer wenn es den Fokus Verliert ein ontop off und gleich wieder ein ontop on?!?
Marco D. - Mi 17.05.06 20:01
Tut's auch ein Timer mit einem regelmäßigem application.bringtofront ?
elundril - Mi 17.05.06 20:04
timer frisst resoucen!!!
LeastCosterXP - Fr 19.05.06 13:55
Titel: StayOnTop
Wenn du das FormStyle auf fsStayOnTop stellst, dann gilt das nur Programmweit, also dein Fenster ist über deinen eigenen Programmfenstern.
Systemweit kannst du es folgendermaßen realsieren:
Du bringst die Komponente "TApplicationEvents" auf dein Form (findest du glaube ich unter 'System'). Diese Komponente hat ein Event 'OnDeactivate'. Und in diesem Event machst Du einfach ein Form1.BringToFront;
Fertig :))
Grüße jesus :)
elundril - Sa 20.05.06 19:53
^^
danke aber ich habs schon hinbekommen!! plötzlich funktionierts mit stay on top!!
jaja die Technik is a Hund!!!
mfg el
Coder - Sa 20.05.06 20:08
Soweit ich weis wird die Anwendung nur über andere Programme gelegt wenn das Hauptformular fsStay on top ist.
elundril - Sa 20.05.06 20:12
kann sein! auf jeden Fall funkts jetzt bei mir!! ich schau aber trotzdem mal nach!
JayEff - So 21.05.06 01:17
elundril hat folgendes geschrieben: |
timer frisst resoucen!!! |
Tut er nicht. Ob da nun 100000000000000000000001 Message pro sekunde verarbeitet wird, oder 100000000000000000000000 ... egal.
Jakob Schöttl - Mo 22.05.06 12:24
Es geht auch so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| procedure ImmerImVordergrund(b: Boolean; Form: TForm); begin With Form do begin if b then begin SetWindowPos(Handle, HWND_TOPMOST, Left,Top, Width,Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); end else begin SetWindowPos(Handle, HWND_NOTOPMOST, Left, Top, Width,Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); end; end; end; |
Meine Quelle war mal wieder
http://www.delphi-fundgrube.de
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!