Programmieren - alles kontrollieren 4.937 Themen, 20.662 Beiträge

c++: Zeiger auf Funktionen?

Yves3 / 3 Antworten / Flachansicht Nickles

Hallo

Ich überlege mir gerade, wie ich am besten ein GUI mit DirectInput realisieren könnte.
Dabei müssen bei jedem Klick alle Buttons und sonstigen klickbaren Elemente überprüft werden.

Ich hatte die Idee, man könnte doch eine Klasse machen, der Buttons als Klassenelemente hinzugefügt werden können.
Man müsste also die Position und die Art des Buttons übergeben.
Soweit so gut, jetzt kommt aber mein eigentliches Problem.

Jeder Button führt ja eine Aktion aus.
Die Funktion des Buttons muss ihm ja auch irgendwie mitgeteilt werden.
Gibt es also irgendwie eine Möglichkeit, den Zeiger auf eine Funktion zu übergeben? Ist das so überhaut sinnvoll, wie ich mir das hier zurechtgelegt habe? Meine Vorstellung ist halt noch ein bisschen wage.

Natürlich bin ich auch für andere Lösungsansätze offen und dankbar!

Vielen Dank im Voraus!

bei Antwort benachrichtigen
d-oli Yves3 „Ich verwende keine GUI Lib, ich möchte das GUI selbst entwickeln. Es soll aber...“
Optionen
Einen direkten Zeiger auf die Funktion ist also nicht möglich?
Doch so z.B.:

// Funktion
static void yourFunction( void* pData, const char* pName, const char** pAttributes )
{
// ...
}

// Methoden - Deklaration
// ...
void yourMethod( void ( *pFunctionPointer )( void*, const char* , const char**) );
// ...

ANTWORT AUF EDIT: Ja genau. Kapselung ... ;-)

[Diese Nachricht wurde nachträglich bearbeitet.]
Konstruktive Kritik zeichnet sich dadurch aus, dass sie höflich, nützlich und sachlich ist.
bei Antwort benachrichtigen