Child-Dialog ist über dem Parent-Dialog

Plattformunabhängige GUIs mit wxWidgets.
Antworten
akhof
User
Beiträge: 104
Registriert: Mittwoch 11. Mai 2011, 19:07
Kontaktdaten:

Hallo!
Ich habe eine Frage:
Ich habe zwei Dialoge. Der erste Dialog ist der parent-Dialog. Der Zweite wird aus dem erstenaufgerufen, ist also ein Child-Dialog. Dieser ist leider über dem zweiten Dialog. Ich hätte es jedoch gerne so, dass der Zweite den Ersten nicht überdeckt, bzw. dass der zuletzt angeklickte "oben" ist.

Ich hoffe Ihr versteht meine Frage.
Ich habe natürlich bereits im Internet gesucht; leider ohne Erfolg... :K

Vielen Dank schoneinmal im Vorraus!
Piet Lotus
User
Beiträge: 80
Registriert: Dienstag 14. November 2006, 10:40

Hallo akhof,
auf die Schnelle. Sind die beiden Dialoge "frames" oder richtige "Dialoge"? Kannst du den Child-Dialog modal machen? Was passiert dann? Du könntest alternativ im Konstruktor noch die Position des Child-Dialogs angeben, an dem der Dialog auf dem Bildschirm erscheinen soll. Wenn du das mit beiden machst und die Größe kennst, dann kannst du sie nebeneinander erzeugen. Ansonsten geht bei dir CenterOnParent() auch nicht? Notfalls kannst du noch im Konstruktur beim Erzeugen des Child-Dialogs im style-Attribute "wx.STAY_ON_TOP" verwenden...mehr fällt mir jetzt gerade nicht ein...
Viele Grüße
Piet
akhof
User
Beiträge: 104
Registriert: Mittwoch 11. Mai 2011, 19:07
Kontaktdaten:

Vielen Dank!

Ich werd's heute Abend mal ausprobieren...

LG
akhof
akhof
User
Beiträge: 104
Registriert: Mittwoch 11. Mai 2011, 19:07
Kontaktdaten:

Hallo!
Leider hat das Style-Argument nicht gereicht...
...Es handelt sich bei den Dialogen wirklich um "wx.Dialog"-Objekte. Der Child-Dialog muss als Child sein, weil dieser dem Parent Informationen übergibt. Leider kenn ich mich mit Dialogen nicht so gut aus
Gibt es evt. weitere Vorschläge?

Vielen Dank schoneinmal jetzt...

LG
akhof

PS: Könnte es evt. helfen den Child-Dialog als Frame zu behandeln?
Piet Lotus
User
Beiträge: 80
Registriert: Dienstag 14. November 2006, 10:40

Hallo akhof,
du hast im ersten Post geschrieben:
Der Zweite wird aus dem erstenaufgerufen, ist also ein Child-Dialog. Dieser ist leider über dem zweiten Dialog.
Du meintest "Dieser ist leider über dem ersten Dialog"-dem Parent,oder?

Nur das ich das Problem richtig interpretiere:
  • 1.) Du hast einen Parent-Dialog.
    2.) Aus dem Parent-Dialog wird ein Child-Dialog aufgerufen.
    3.) Der Child-Dialog verdeckt jetzt den Parent-Dialog.
    4.) Du möchtest aber den Parent-Dialog noch im Vordergrund haben.
Müssen denn Parent-Dialog und Child-Dialog übereinander liegen? Du könntest mit dem "Pos"-Attribut die Dialoge nebeneinander oder versetzt zueinander erzeugen?
Wenn die Dialoge übereinander liegen müssen, oben der Parent und darunter der Child, dann kannst du ggf. für die Dialoge Frames verwenden und den Child-Frame im Konstruktor des Parent-Frame aufrufen - hatte jedenfalls mal bei mir diesen Effekt...allerdings hängt die genaue Anordnung der Fenster auch vom Betriebssystem ab, wenn du die gewünschten Positionen nicht explizit mit gibst...
Viele Grüße
Piet
akhof
User
Beiträge: 104
Registriert: Mittwoch 11. Mai 2011, 19:07
Kontaktdaten:

Hallo!
Danke für deinen Rat!
Ich habe das Problem jedoch schon folgendermaßen gelöst:
Ich habe den Child-Dialog unabhängig gemacht und lasse die Daten einfach zwischen den beiden Dialogen austauschen!

LG und Vielen Dank
akhof
Antworten