Problem mit WindowLong

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Lukaso
Beiträge: 720
Registriert: 08.09.2004 18:51
Wohnort: Oberkirch
Kontaktdaten:

Problem mit WindowLong

Beitrag 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
Nextgen Guild Wars Fanseite: Guild Wars Tactics (Pseudo-Admin + Developer)
"Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht." - Unbekannter Autor
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Beitrag von GPI »

Bei OpenWindow() gibts am schluß einen Parameter, um das Parent-Window zu bestimmen.

Deine Setwindowlong/pos sind dadurch unnötig.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Benutzeravatar
Lukaso
Beiträge: 720
Registriert: 08.09.2004 18:51
Wohnort: Oberkirch
Kontaktdaten:

Beitrag 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 /:->
Nextgen Guild Wars Fanseite: Guild Wars Tactics (Pseudo-Admin + Developer)
"Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht." - Unbekannter Autor
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag 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...
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Beitrag von GPI »

ist #About_Window zufällig 0?

Warum definierst du konstanten und benutzt diese bei der Erstellung nicht?
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Benutzeravatar
Lukaso
Beiträge: 720
Registriert: 08.09.2004 18:51
Wohnort: Oberkirch
Kontaktdaten:

Beitrag von Lukaso »

So, läuft, DANKE!

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

MFG Lukaso
Nextgen Guild Wars Fanseite: Guild Wars Tactics (Pseudo-Admin + Developer)
"Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht." - Unbekannter Autor
Antworten