Autor Beitrag
Darkmorph
Hält's aus hier
Beiträge: 7



BeitragVerfasst: So 23.03.03 20:20 
wie Der Titel impliziert möchte ich mein Programm in den Vordergrund, also vor alle anderen Anwendungen aufgrund eines beliebigen Events, bringen. ich dachte es währe BringToFront oder Application.BringToFront... aber ohne erfolg... hat niemand eine ahnung?

MfG Ben
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: So 23.03.03 20:25 
Wieso sollte Application.BringToFront nicht funktionieren? Möchtest du dein Formular etwa über einem StayOnTop Fomular haben?

_________________
Ist Zeit wirklich Geld?
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 23.03.03 20:35 
ausblenden Quelltext
1:
SetWindowPos(Form1.Handle, HWND_TOPMOST, 0, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE);					

Ich hoffe, ich habe aus dem Kopf keinen Parameter vergessen. :roll:
Darkmorph Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: So 23.03.03 20:49 
erstemal vielen dank für die Hilfe aber
funzt so nicht...
ausblenden Quelltext
1:
SetWindowPos(Form1.Handle, HWND_TOPMOST, 0, 0, 0, 0, [b]0,[/b] SWP_NOMOVE or SWP_NOSIZE);					


eine null zu viel :)

und STAYONTOP will ich nicht!!

ich will, das meine Applikation nach vorne kommt, wenn ich etwas empfange!!
hatte gedacht, es wäre mit bringtofront möglich, aber es passiert bei mir unter WINXP und WIN2k nicht.

Szenario:
Meine Applikation hinter einer anderen. Ich empfange Message. dann will ich das mein Prog nach vorne kommt!

Plz HelP :)

MorPH
Darkmorph Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: So 23.03.03 20:54 
hi,
ich nochmal :)
vielen dank nochmal für die hilfe an alle beteiligten :)

habe jetzt eine unschöne Methode benutzt, und zwar:
ausblenden Quelltext
1:
2:
SetWindowPos(Form1.Handle, HWND_TOPMOST, 0, 0, 0, 0,SWP_NOMOVE or SWP_NOSIZE);
SetWindowPos(Form1.Handle, HWND_NOTOPMOST, 0, 0, 0, 0,SWP_NOMOVE or SWP_NOSIZE);


diese funzt, ist aber nicht ideal... frag mich wieso es nicht mit BringToFront funktionierte... :(

MfG Morph
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 23.03.03 21:01 
Sag mit noch mal das mein API-Lösung unschön ist. :x

Und anders geht es nicht und ohne VCL schon gar nicht.

fsStayOnTop würde noch gehen, aber da sagt die Hilfe:
Zitat:

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


Also ist meine Weg in Ordnung und auch richtig!
Alibi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458

Win2K SP3
Delphi 6 Ent
BeitragVerfasst: So 23.03.03 21:03 
Klappt
Form123.FormStyle := fsStayOnTop;
nicht?
Darkmorph Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: So 23.03.03 21:07 
@alibi
ich will nur das die fenster nach vorne kommen und nicht immer vorne bleiben sollen. ich habs ja jetzt so gelöst, das ich im grunde stayontop setze und dann wieder zurücksetze... siehe post weiter oben!

@Luckie

ich hatte früher einmal die funktion formx.bringtofront benutzt und damals hatte die auch glaube ich funktioniert... aber mittlerweile nicht mehr... :?

ich bin dir dankbar für deine hilfe. aber ein alwaysstayontop-value-change bewirkt doch im gerunde auch den aufruf deiner API-Funktion, oder lieg ich falsch?

Interpretiere das nicht als Auflehnung oder Angriff, ich bin nur verdutzt, das die BringToFront Funktion, deren Name und die Online-Hilfe sagen aus, das diese Die Applikation, bzw, die Form nach ganz vorne bringen, also vor alle anderen Fenster...

MfG MorPH
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 23.03.03 21:32 
War ja auch nur als Scherz gemeint. :wink:
wulfskin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: So 23.03.03 21:44 
Wir wär's mit:  SetForegroundWindow(Handle);?

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
Darkmorph Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: So 23.03.03 21:48 
funzt auch nicht,

ist aber auch eigentlich das gleiche wie Bringtofront

SetForeGroundWindow(hwnd) wird von der BringtoFront-Funktion benutzt.

mFG BEN
Motzi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2931

XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
BeitragVerfasst: Mo 24.03.03 12:20 
Unter Win2k/XP kann man SetForegroundWindow irgendwie "deaktivieren". Auf www.swissdelphicenter.ch gibts aber einen Tipp der eine Funktion ForceForegroundWindow zeigt die das Fenster aber auf jeden Fall in den Vordergrund setzt.

_________________
gringo pussy cats - eef i see you i will pull your tail out by eets roots!