Voici une petite classe pour gérer des Fenêtres... elle n'est pas finie, mais je voudrais votre avis pour voir ce qu'il n'irait pas, avant d'aller plus loin. Elle est plutôt simple d'utilisation, mais j'ai néanmoins mis un fichier exemple (main.cpp).
Source / Exemple :
// Voici le code exemple d'utilisation de la class "main.cpp"
#include <windows.h>
#include <map>
#include "kj_objets/fenetre.h"
void Form1_OnClose(WPARAM wParam, LPARAM lParam);
void Form1_OnClick(WPARAM wParam, LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, PSTR, int)
{
MSG msg; // Pour recevoir les messages
KJO::Form Form1(hInstance); // Nouvelle Form
// Definition des fonction des evenements
Form1.OnClose = Form1_OnClose;
Form1.OnClick = Form1_OnClick;
// Definition des quelques proprietés de la Form
Form1.Caption("Ma Form à moi");
Form1.Height(400);
Form1.Width(500);
Form1.Left(100);
Form1.Top(100);
// Affichage de la Form
Form1.Show(SW_NORMAL);
// Boucle qui reçoit et transmet les message
while( GetMessage(&msg, NULL, 0, 0) )
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
void Form1_OnClick(WPARAM wParam, LPARAM lParam)
{
/*
- wParam contient un pointeur vers l'objet concerné
- lParam contient une structure MY_EVENT remplie
- /
KJO::MY_EVENT * ke;
ke = (KJO::MY_EVENT *)lParam;
switch (ke->lParam2)
{
case ON_CLICK_LEFT:
{
MessageBox(NULL, "Clique Gauche", "OnClick", 0);
break;
}
case ON_CLICK_MIDDLE:
{
MessageBox(NULL, "Clique Milieu", "OnClick", 0);
break;
}
case ON_CLICK_RIGHT:
{
MessageBox(NULL, "Clique Droit", "OnClick", 0);
break;
}
}
}
void Form1_OnClose(WPARAM wParam, LPARAM lParam)
{
PostQuitMessage(0);
}
Conclusion :
Voilà, j'attends des commentaires, conseils construits, pas des "c'est nul", "ça existe déjà"... ou autres commentaires inutiles. Je sais que je réinvente pas la roue... mais je fais pas de C++ depuis longtemps et je voulais m'entrainer un petit peu, voilà. Donc vos conseils sont les bienvenue. Je mets un niveau 1, parce que je trouve pas ça plus difficile d'autre chose, j'insiste bien sur le fait que la classe n'est pas finie, et que j'ai l'intention (si ça fait pas un bide) de continuer et ) faire d'autres objets (zone de texte, bouton...).
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.