GTK Sub-Fenster in Windows als eigenständige Instanzen anzeigen



  • Hallo und willkommen erst mal.
    Ich bin selbst kein wirklich erfahrener C++ Programmierer, habe aber doch gewisse Grundkenntnisse und ein ganz guten Programmierverständnis. (Python, Java, ...)

    Wir haben eine recht umfangreiche Software für die ich als Produktverantwortlicher zuständig bin. (C++, GTK 2.x, VisualStudio). In dieser Software lassen sich verschiedene Fester öffnen und kennen dabei 2 Modi. Entweder sind sie in die Hauptapplikation eingebettet (in ein Slice&Dice-Layout) oder sie können abgedockt und als free floating Window beliebig platziert werden.
    Als solche erscheinen sie als eigenständige Windows-Fenster, sind jedoch in Windows nicht als eigenständige Instanzen (oder Kind-Fenster der Hauptapplikation) registriert. Das hat zur Folge, dass etwa im der Windows Startleiste nur die Hauptapplikation sichtbar ist, nicht aber die abgedockten Fenster. Somit kann ich auch nicht etwa mit [WINDOWS + Tab] durch die abgedockten Fenster switchen.

    Nun meine Frage: Geht das oder ist das ein Wahnsinnsaufwand?
    Ich nehme mal an, man muß möglicherweise irgend eine Windows-Library einbinden,
    beim Abdocken das neue Fenster irgendwo bei Windows anmelden und einen Handle übergeben und beim Andocken an die Hauptapplikation das Fenster wieder abmelden. Das kann doch keine solche Hexerei sein.

    Schön wäre natürlich, wenn das unter Linux auch sauber funktionierte.

    Wichtig vielleicht: Das ganze GTK-GUI ist sozusagen manuell hardgecoded. Die verwenden bei uns keinen GUI-Designer. (Ich erwähne das nur, weil's also nicht geht bei irgend einem GUI-Designer irgend eine Option anzuklicken. Wir müssen das direkt im Code per Hand lösen. GTK wird aber natürlich verwendet.)
    Anmerkung: Bei irgendwelchen kleinen Dialogfenstern funktioniert das übrigens richtig. Nur bei unseren selbstgebauten 'großen' Fenstern klappt's nicht.

    Sorry falls es das Thema schon gibt. Ich hab' wirklich gesucht, aber möglicherweise fehlen mir die richtigen Begriffe um das zu finden, was ich meine. Herzlichen Dank für Eure Hilfe! 🙂


Anmelden zum Antworten