klassenfunktionen als messagefunktion eines fensters?
-
ich habe eine klasse, diese erstellt ein fenster. meine frage ist, kann ich eine klassenfunktion deklarirern, die die nachrichten entgegen nimmt, oder muss ich da eine allgemeine funktion nehmen??? und wie muss ich das dann schreiben, weil so wie ich das geschrieben habe geht das irgendwie nicht??
-
rofl
-
ps. wurde schon 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 mal besprochen. such doch mal

-
das ahbe ich gefunden, aber wieso kann man nicht direkt, die klassenfunktion übergeben??? das wäre doch einfacher.
-
rofl
-
ich hab mir jetzt noch die faq durchgelesen, mir ist aber immer noch nicht klar woran genau das liegt, dass das nicht funktioniert. vielleicht kann es mir jemand erklären... und vielleicht auch noch die Lösungen des Problems, wobei diese ja nur eine Zweite funktion aufrufen...??
-
das funktioniert deshalb nicht, weil die winapi in c geschrieben ist, da gibt es keine methoden. die signatur einer methode und einer normalen funktion sieht anders aus, deshalb kann die winapi nur funktionen als fensterprozeduren übernehmen. mal so gesagt.
wie man das trotzdem lösen kann, findest du mithilfe der suchfunktion heraus.
-
not_the_real_rofler schrieb:
das funktioniert deshalb nicht, weil die winapi in c geschrieben ist, da gibt es keine methoden. die signatur einer methode und einer normalen funktion sieht anders aus, deshalb kann die winapi nur funktionen als fensterprozeduren übernehmen. mal so gesagt.
wie man das trotzdem lösen kann, findest du mithilfe der suchfunktion heraus.
danke!!!!!!!!
jetzt verstehew ich das ganze.
wenn man die funktion jetzt aber static macht, sieht sie aus wie eine normale funktion, habe ich das richtig verstanden?
-
Ja.
Statische Methoden sind nicht teil eines Objektes! Deshalb haben sie in der Parameterliste keinen versteckten this-Zeiger, weil sie eben objektungebunden operieren. Das musst du dann auch bei deiner Fensterklasse beachten, alle Nachrichten aller Fenster werden bei der selben Methode landen! Von da aus könntest du sie dann z.B. an nicht statische Methoden weiterverteilen.