Childfenster mit eigner registrierter Fensterklasse?
-
Hallöchen,
da mein Posting im Grafikprogrammierung-Forum scheinbar von wenig WinAPI-Kundigen gelesen wird, poste ich hier nochmal die WinAPI bezogenen Fragen. Und zwar, habe ich ein Hauptfenster und 2 Childfenster. Durch einen Fehler hab ich für diese 3 Fenster, eingeschlossen die Childfenster, eine eigene Fensterklasse registriert. (RegisterClass). Alle drei haben auf die selbe Callback-Prozedur gezeigt.
Soweit funktioniert auch alles, nur ist es eben fraglich, ob "man das so macht" oder "so machen sollte". Also, Child-Fenster mit eigener Fensterklasse registrieren. Jetzt wo mir der Fehler aufgefallen ist, und ich nur für das Hauptfenster die Klasse registriert habe, funktioniert das leider nicht mehr so gut mit OpenGL zusammen, weshalb ich doch schon gern für alle drei eine eigene registrierte Fenster-Klasse hätte. Die Frage ist eben, ob das irgendwelche Fehler hervorrufen könnte. Normalerweise, bei neuen Fensterklassen, erscheint dieses ja als eigenes Fenster und auch in der Taskleiste unten. ALs Child mit eigener Klasse allerdings nicht. Soll auch nicht so sein, allerdings ist da eben die Frage, ob man das so machen kann, Childs mit eigenen Fenster-Klassen ohne das irgendwann später womöglich noch irgendwelche "Nebenwirkungen", Speicherfehler oder sonstwelche Fehler auftreten.
Wär schön wenn mir jemand diese Fragen beantworten könnte.mfg.
Ynnus
-
Natürlich kannst du dir auch eigene Fensterklassen für Controls o.ä. schreiben

-
Ich bin mir jetzt nicht sicher, ob du mich richtig verstanden hast. Ich meinte nicht, eigene OOP-Klassen für die Controls schreiben (das hab ich ja schon gemacht), sondern dass diese Controls eine eigene Fensterklasse registrieren. (Also diese WinAPI-Fensterklassen welche man mit RegisterClass registriert.) Das hat dann ja nichts mit eigenen Klassen oder OOP zu tun, nur Windows nennt es eben Fensterklasse. Die Frage ist eben, ob es sinnvoll ist (oder überhaupt ohne Fehler möglich ist), für Child-Fenster eigene Fensterklassen zu registrieren, da diese ja eigentlich über das Parent-Window gemanaged werden, welches die Fensterklasse registriert.
Nochmal zum besseren Verständnis, ich meine diese (windowseigenen) Fenster-Klassen:
ATOM RegisterClass( CONST WNDCLASS *lpWndClass // address of structure with class data ); Parameters lpWndClass Points to a WNDCLASS structure. You must fill the structure with the appropriate class attributes before passing it to the function.
-
Ich hatte das schon verstanden

Es ist aber nunmal kein Problem auch für Child-Fenster eigene Fensterklassen (auch ich meinte die für RegisterClass) zu schreiben.