PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fenster über allem immer im Vordergrund



phlippi
17.05.2010, 17:20
Hallo,
was ich suche ist nicht diese normale Einstellung, die es bei Visual Studio gibt. Ich suche eine Möglichkeit ein Bild immer in der Mitte des Screens zu zeigen, dass immer oben ist. Der Rest sollte aber transparent sein. Ausserdem sollte es wirklich immer direkt oben sein, d.h auch wenn Beispielsweise ein Film oder ein Spiel im Fullscreen läuft.
Gibt es da irgendwelche möglichkeiten?

100
17.05.2010, 17:26
Sprichst du nun von Vb8?

Die Form hat eine Eigenschaft für Durchsichtigkeit, die nennt sich Opacity (1-100%).
Ebenso hat die Form eine Eigenschaft für den Vordergrund, die heißt TopMost (True).

Um nun ein Bild im Vordergrund, un den "Rest" im Hintergrund zu haben, solltest du am einfachsten eine Form fürs Bild, und eine für dein Programm erstellen.

Die Eigenschaft für die Startposition heißt "StartPosition" und müsste dann auf "CenterScreen" gesetzt werden.

clemib
17.05.2010, 17:45
Darf man fragen wozu du das brauchst? : )

phlippi
17.05.2010, 22:00
Ich meinte ich hätte topmost schon ausprobiert und das ging nicht.
ICh will mir in Spielen eigentlich nur nen paar extra Sachen einblenden. Z.B Ne Uhr, hab nicht immer Lust zu minimieren, oder z.B nen Minifadenkreuz für Cod, dass immer in der Mitte ist, um die Mitte schneller fixieren zu können. K.a kann man recht vielseiting benutzen :P

Sawyer
18.05.2010, 15:57
Ich bezweifle das du das so einfach Lösen kannst. Wir hatten bereits einmal eine ähnliche frage, allerdings haben wir festgestellt das dies in Kombination mit spielen nicht funktionieren wird. Es sei den du generierst das Fenster deiner Anwendung mit DirectX. Ansonsten gibt es durchaus eine API welche deine Anwendung gegenüber allen anderen Permanent in den Vordergrund bringt. Siehe hier: SetForegroundWindow Function (Windows) (http://msdn.microsoft.com/en-us/library/ms633539%28VS.85%29.aspx)

MfG, Sawyer

stan1986
19.05.2010, 09:09
Ich bezweifle das du das so einfach Lösen kannst. Wir hatten bereits einmal eine ähnliche frage, allerdings haben wir festgestellt das dies in Kombination mit spielen nicht funktionieren wird. Es sei den du generierst das Fenster deiner Anwendung mit DirectX. Ansonsten gibt es durchaus eine API welche deine Anwendung gegenüber allen anderen Permanent in den Vordergrund bringt. Siehe hier: SetForegroundWindow Function (Windows) (http://msdn.microsoft.com/en-us/library/ms633539%28VS.85%29.aspx)

MfG, Sawyer


Ist es nicht so, das wenn eine andere Anwendung (das Spiel im Fullscreen) vermutlich auch die Funktion "SetForegroundWindow" benutzen wird, und dadurch wieder zuoberst liegt?

Resp. halt immer nur das Fenster, welches diese Funktion zuletzt "benutzt" hat, im Vordergrund ist, und die anderen Fenster wieder in den Hintergrund geraten..

Code-C4
19.05.2010, 09:15
probier mal Me.topmost=True
im timer tick^^
ka obs geht ist nur so spontane tehorie^^

krusty
19.05.2010, 18:38
denke mal sowas funktioniert nur, wenn du ein spiel im fenstermodus startest.

user44
19.05.2010, 18:54
nein da gibs einen code den ich gerade nicht weiß
dann ist es immer im vordergrund auch in spielen

krusty
20.05.2010, 14:27
man hat die möglichkeit auf andere fenster zu zeichnen, das geht, allerdings muss man diese zeichnung in einer schleife in einem thread ausführen lassen und die zeichnung flackers start, je nach dem, wie viel fps man im spiel verwendet.