Seite 1 von 1

Problem mit WindowLong

Verfasst: 21.10.2004 15:29
von Lukaso
Hallo,

ich habe heute meinem Kleinem Player, ein neues About Fenster verpasst, als ersatz für den MessageRequester. So und nun fangen wieder die Probleme an ....

Ich habe ja ein Fenster, dass immer im Fordergrund ist, sich Verschieben lässt, und nicht in der Taskleiste auftaucht. Wenn ich jetzt das About Window aufrufe, verschwindet, dass Player-Window komplett. Beim Schließen des About Windows, erscheint es auch nicht, aber im Taskmanager läuft das Prog noch.

Code:

Code: Alles auswählen

OpenWindow(1, 0, 0, 0, 0, #PB_Window_ScreenCentered, ""): HideWindow (1, 1) 
Open_Player_Window()
SetWindowPos_(WindowID(), #HWND_TOPMOST, 0, 0, 0, 0, #SWP_NOMOVE | #SWP_NOSIZE) 
SetWindowLong_(WindowID(0), #GWL_HWNDPARENT, WindowID(1))

[...]

Repeat

[...]

If WindowID = #Player_Window

[...]

    ElseIf WindowID = #About_Window And Event = #PB_EventCloseWindow
      CloseWindow(#About_Window)
    ElseIf WindowID = #Player_Window And Event = #PB_EventCloseWindow
      Quit = 1
    EndIf
    
  Until Quit = 1 

[...]
Wenn ich die Zeile:

Code: Alles auswählen

SetWindowLong_(WindowID(0), #GWL_HWNDPARENT, WindowID(1))
auskommentiere, verschwindet der Player nicht nachm schließen vom About Window, aber er erscheint in der Taskleiste (möchte aber nicht, dass er in der Taskleiste angezeigt wird)...

Könnte mir jemand Bitte helfen?

Danke

Lukaso

Verfasst: 21.10.2004 16:55
von GPI
Bei OpenWindow() gibts am schluß einen Parameter, um das Parent-Window zu bestimmen.

Deine Setwindowlong/pos sind dadurch unnötig.

Verfasst: 21.10.2004 17:47
von Lukaso
@GPI
habs probiert, so wie du es gesagt hast, es ersetzt w.g. die 2 Befehle, aber das eigentliche Problem, bleibt immer noch bestehen /:->

Verfasst: 21.10.2004 17:52
von Ynnus
Ich habs bisher immer so gemacht, dass ich bei solchen Aboutfenstern und so das Hauptfenster deaktiviert habe (dass man es nicht mehr anklicken konnte), das kleine Fenster war dann als Childfenster festgelegt (so wie GPI es sagte, im letzten Parameter festlegen) und beim Schließen des kleinen Fensters hab ich das Hauptfenster wieder aktiviert und in den Vordergrund gesetzt. So hat das bisher immer gut geklappt...

Verfasst: 21.10.2004 18:30
von GPI
ist #About_Window zufällig 0?

Warum definierst du konstanten und benutzt diese bei der Erstellung nicht?

Verfasst: 21.10.2004 20:33
von Lukaso
So, läuft, DANKE!

Die Konstanten oben habe ich beim Testen ein bißchen vernachlässigt ;)

MFG Lukaso