GUI: parent = Null (Fehler wird behoben)

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

rema

Betreff: GUI: parent = Null (Fehler wird behoben)

BeitragMo, Feb 06, 2006 14:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Keine Ahnung wie ich die Überschrift benennen sollte, aber hier mein Problem.

Ich will ein Panel oder Button erstellen, der aber am Anfang noch keine Parent- oder Gruppen-Zuweisung bekommt.

Code: [AUSKLAPPEN]
panel:TGadget = CreatePanel( posx, posy, width, height, Null , style, name )


Den erst später will ich per Methode das Panel einem Window zuweisen.

Code: [AUSKLAPPEN]
panel.setparent( window )


Der Compiler meckert zwar nicht, aber das Programm bleibt aber einfach hängen. Muss man nun beim Ersstellen des Panels definitive einer Gruppe zugeweisen oder sollte dies eigentlich egal sein?

Hier noch ein vollständiges Beispiel:

Code: [AUSKLAPPEN]
Strict

Local window:TGadget = CreateWindow( "test", 100, 100, 400, 400 )

Local panel:TGadget  = CreatePanel( 50, 50, ClientWidth(window) - 100, ClientHeight(window) - 100, Null , PANEL_BORDER    )


panel.setparent( window ) ' setparent ist eine Methode von TGadget

While WaitEvent()

   Select EventID()
      Case EVENT_WINDOWCLOSE
         End
      Default
         'nix
   End Select

Wend


Achja, auch wen ich statt Parent/Gruppe = Null irgendwas anderes nimm, zbsp Desktop(), da bleibt das Programm nicht hängen, aber durch panel.setparent( window ) wird das Panel im Windows nicht sichtbar...


Code: [AUSKLAPPEN]
Strict

Local window:TGadget = CreateWindow( "test", 100, 100, 400, 400 )

Local panel:TGadget  = CreatePanel( 50, 50, ClientWidth(window) - 100, ClientHeight(window) - 100, Desktop() , PANEL_BORDER    )


panel.setparent( window ) ' setparent ist eine Methode von TGadget

While WaitEvent()

   Select EventID()
      Case EVENT_WINDOWCLOSE
         End
      Default
         'nix
   End Select

Wend
  • Zuletzt bearbeitet von rema am Mo, Feb 06, 2006 23:41, insgesamt einmal bearbeitet
 

Dreamora

BeitragMo, Feb 06, 2006 16:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Du musst leider allem ausser einem Window einen Parent angeben.
Du kannst jedoch zwecks späterer Zuweisung auch einfach ein gehidetes Gadget machen, dem du alles zuweist (wie ein Panel).
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

rema

BeitragMo, Feb 06, 2006 16:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Auch schon probiert, aber geht nicht. So wie es aussieht bleibt das Gadget am Parent haften, oder man kann es nicht mehr neu zuweisen.

Das ist sau blöd... Habe mal im eng. Forum das Problem geschildert...

Hier noch das neuere Beispiel:

Code: [AUSKLAPPEN]

Strict


Local window:TGadget = CreateWindow( "test", 100, 100, 400, 400 )

Local deamon:TGadget = CreateWindow( "deamon",0,0,1,1,,WINDOW_HIDDEN)

Local panel:TGadget  = CreatePanel( 50, 50, ClientWidth(window) - 100, ClientHeight(window) - 100, deamon, PANEL_BORDER) ' <----- hier ein Deamon Window


panel.setparent( window )



While WaitEvent()

   Select EventID()
      Case EVENT_WINDOWCLOSE
         End
      Default
         'nix
   End Select

Wend
  • Zuletzt bearbeitet von rema am Mo, Feb 06, 2006 17:37, insgesamt 2-mal bearbeitet
 

Dreamora

BeitragMo, Feb 06, 2006 16:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Und was möchte uns das Beispiel zeigen? Very Happy

Es weisst ein panel window zu und weist es danach nochmal window zu ... aaaah ja Wink
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

rema

BeitragMo, Feb 06, 2006 17:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry, beim testen habe ich vergessen window zu deamon zurück zuschreiben. Aber du weisst ja um was es geht. Und Deamon sollte allen Unix/Linux-Geplagten eigentlich ein Begriff sein. Wink

// Edit //

So, wird im nächsten Update behoben Smile

http://www.blitzbasic.com/Comm...opic=56171

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group