C++ Zeiger auf Memberfunktionen

also wie wir einen zeiger auf eine member-fnkt. machen weiß ich. aber ich habe immernoch ein problem:
ich will ein klasse schreiben, die maus steuerung übernimmt.
dazu will ich einen event-handler installieren. dazu muß ich die adresse offset und segment irgendeinem register übergeben und einen interrupt ausführen. segment und offstet stelle ich mit den funktionen: FP_SEG und FP_OFF, denen ich die adresse der funktion (des event handlers)übergebe, fest.
diese beiden funktionen weigern sich allerdings einen zeiger auf eine memberfunktion zu übernehmen. (die wollen nur non-member zeiger) was tu ich nu?
könnte es vielleicht nützlich sein den eventhandler virtuell zu deklarieren?

deklartion des eventhandlers ist private:
void far eventhandler( void );

hier ist noch ein quellcode auszug:
// Methoden der Klasse Maus

Maus::Maus() // der Konstruktor
{
if ( !init() ) // maus initialisieren
{
cprintf( „fehler beim intitialisieren“ );
getch();
}

//Eventhandler installieren // hier kommt’s problem:
void (far Maus::*pEh)(void) = &Maus::eventhandler;
in_register.x.ax = 0x000c; // funktion um eventhandler bekanntzugeben
in_register.x.cx = 0x1f; // steuerwort
in_register.x.dx = FP_OFF( pEh ); //offset feststellen und übergeben
sregister.es = FP_SEG( pEh ); //segment
int86x(0x33,&in_register,&out_register,&sregister); //den interrupt ausführen.

// die maus ist nach diesem konstruktor nicht an (glaube ich);
visible = FALSE;
};

ich danke euch allen ergebenst. vangelis tsoumenis, angehender informationstechnischer assistent.

ps. ich habe jetzt ferien und bin zwei wochen weg. hole also keine mails ab.

pps. 'tschuldigung wenn das ganze 'n bischen chaotisch 'rüberkommt.

könnte es vielleicht nützlich sein den
eventhandler virtuell zu deklarieren?

Es waere nuetzlich, das nicht als Methode, sondern als ganz normale Funktion zu implementieren.

void (far Maus::*pEh)(void) =
&Maus::eventhandler;
um eventhandler bekanntzugeben
in_register.x.dx = FP_OFF( pEh );
//offset feststellen und übergeben
sregister.es = FP_SEG( pEh ); //segment

DAS GEHT SO NICHT!!! Die Methode eventhandler hat einen Parameter, der auf dem Stack uebergeben werden muss!!! Naemlich den Instanzzeiger (das this oder self oder wie auch immer). Das funktioniert aber mit dem 33er-Interrupt offensichtlich nicht.
Tip: verwend eine ganz normale Funktion, die dann eventhandler aufruft. Da es nur eine Maus gibt, macht es sowieso nicht viel Sinn von dem mehrere Instanzen zu erzeugen. Wenn Du es unbedingt mit der Methode machen willst, dann hilfts eventuell die STATISCH zu deklarieren (sicher nicht virtuell) - aber dann kannst Du natuerlich vom eventhandler nicht auf das Objekt zugreifen.