J'ai quelques questions sur ce sujet.
J'ai créé une classe pour les boutons, la classe a un problème.
Problème est:
1. Je veux créer la fonction à appeler si le bouton est cliqué, le problème est que chaque bouton va faire quelque chose de différent si on cliquait dessus. Donc, je ne sais pas comment je peux créer une fonction qui fera quelque chose de différent pour chaque bouton.
Je ne sais pas comment je devrais concevoir mon interface.
Si vous pouvez me donner une idée sur la façon dont je devrais concevoir mon interface graphique, ce serait génial.
Ceci est mon bouton classeC++ Comment créer une interface graphique en directx?
class GUIButtons
{
public:
GUIButtons(void);
~GUIButtons(void);
void LoadMesh(string fileName, int startAnimation, LPDIRECT3DDEVICE9 d3ddev);
void Render(float timeElapsed, D3DXMATRIX *matWorld);
void EventProc(HWND hWnd, UINT msg, LPDIRECT3DDEVICE9 d3ddev);
void Picking(HWND hWnd, LPDIRECT3DDEVICE9 d3ddev);
private:
CXFileEntity *Button;
};
EDIT 2:
Guys est-ce possible?
Je crée deux fonctions et, plus que je ne le fais, pointe une fonction sur une autre.
Quelque chose comme ça
void a()
{
....
}
void b() = a;
EDIT 3:
Ok dois-je utiliser cette façon pour la fonction onClick()
.
void Onclick(void(*fun))
{
fun();
}
je passe une fonction à OnClick
qu'elle appelle la fonction.
devrais-je utiliser de cette façon?
Si vous êtes déjà sur une plate-forme Microsoft, pourquoi ne pas utiliser Windows Presentation Foundation? – chrisaycock
Parce que, en plein écran DirectX vous ne pouvez pas utiliser Windows Presentation Foundation – Ramilol
Ce que vous avez écrit comme votre 2ème édition n'est pas possible. Mais vous pouvez utiliser des pointeurs de fonction. Mais sérieusement, l'utilisation de classes/polymorphisme est meilleure, plus sûre et plus élégante, et vous apprendrez plus en le faisant de cette façon :) – Lagerbaer