Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » WndProc in Klasse?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
07.04.2004, 21:45 Uhr
hannibal



Hallo,

bin zur zeit dabei eine Window-Klasse zu schreiben (sprich eine Klasse, mit der ich ein Fenster verwalten kann), jedoch hab ich ein kleines Problem: mein msgHandler soll eigentlich _in_ der Klasse bleiben, jedoch will der Compiler das ganze nicht konvertieren ('=' : 'long (__stdcall Window::*)(struct HWND__ *,unsigned int,unsigned int,long)' kann nicht in 'long (__stdcall *)(struct HWND__ *,unsigned int,unsigned int,long
)' konvertiert werden.).

Die Frage ist jetzt, ob jemand schon Erfahrung damit hat, und unter Umstaenden eine Loesung parat hat.

Lg, hannibal
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
07.04.2004, 21:54 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Also auf Anhieb würde ich sagen das das kein Problem sein sollte.

Zeig mal deine Klassendeklaration und die Zuweisung des Nachrichtenhandlers an das Fenster.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
07.04.2004, 21:56 Uhr
hannibal




C++:
LRESULT CALLBACK messageHandler(HWND, UINT, WPARAM, LPARAM);
// Prototyp (wie immer)

// Zuweisung an die WNDCLASSEX-Klasse
wcex.lpfnWndProc = Window::messageHandler;



Und ja, sollte imo auch kein Problem darstellen, nur will der Linker das ganze eben konvertieren..keine Ahnung warum.

Lg, hannibal
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
07.04.2004, 22:04 Uhr
(un)wissender
Niveauwart


Wenn messageHandler static ist, dann geht das, sonst nicht!
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
07.04.2004, 22:07 Uhr
hannibal



Daran lag es, danke!

Lg, hannibal
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
07.04.2004, 22:09 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Hmm habs grad mal selber ausprobiert und auch nicht hinbekommen.

Hab aber in den google newsgroups (ist dir das lieber windalf? ) eine Erklärung dafür und eine Lösung gefunden:
http://groups.google.de/groups?hl=de&lr=&ie=UTF-8&oe=UTF-8&threadm=6vr33l%24fec%242%40stu1id2.tesion.de&rnum=2&prev=/groups%3Fq%3Dmemberfunktion%2Bals%2Bcallbackfunktion%26hl%3Dde%26lr%3D%26ie%3DUTF-8%26oe%3DUTF-8%26selm%3D6vr33l%2524fec%25242%2540stu1id2.tesion.de%26rnum%3D2


Nachtrag:
Wenn er den statisch macht, macht es allerdings keinen Sinn mehr so eine Klasse anzulegen da dann alle Fenster den selben hätten.

Dieser Post wurde am 07.04.2004 um 22:10 Uhr von Guybrush Threepwood editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
07.04.2004, 22:12 Uhr
hannibal



Irgendwie einleuchtend, aber auf die Idee muss man mal kommen...

Lg, hannibal

edit: Dann haben alle denselben? Bleibt das nicht Objekt-intern?

Dieser Post wurde am 07.04.2004 um 22:13 Uhr von hannibal editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
07.04.2004, 23:28 Uhr
(un)wissender
Niveauwart


Den this-Zeiger als userdata zu verstecken ist gängige Praxis.
Man braucht dann nur eine statische Klassenfunktionen, die eben über diesen this-Zeiger, die dann die (member-)Funktion aufruft, und an diese alle anderen Parameter weitergibt, wie hier z.B HWND, etc.
So sind beliebige Callback möglich, man könnte sogar soweit gehen und sie zur Laufzeit austauschen.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
07.04.2004, 23:32 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@Guybrush
Oh ist das traurig...
Ich weiss überhaupt nicht wovon ihr redet...
lasst mich blos in Ruhe mit der WinApi
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: