Création de controles avec classe et librairie perso sans mfc

Description

Ce petit programme montre l'utilisation d'une librairie pour créer une instance de classe (des objets fenêtre),
qui s'afficheront à l'écran. Ces objets issus de la classe Cfeuille (déclarée dans la librairie 'LibClassFeuille.lib) contiendront
en plus des fonctions permettant la création des fenêtre et leur gestion, toutes les fonctions d'évènement qui leur sont propres.
La fonction API: LRESULT CALLBACK WinProc(HWND hWnd, UINT uMsg...) étant apparement interdite dans une classe, elle sera une
fonction de reception générale des messages, qui selon le HWND transmis répercutera ces messages vers une autre fonction
WinProc faisant partie intégrante des objets de fenêtre.

Conclusion :


Le programme principal 'CF1.cpp' compilé en 'ClasseFenetre.exe' dans le répertoire Debug & retail , va faire référence à la librairie LibClassFeuille.lib.
L'entête hFAC sera également appelé.
Le programme principal va créer deux fenêtres (2 instances de classe de Cfeuille) qui seront FenA et FenB
Elle va les faire apparaitre à la position 0,0 et avec 0 de longueur et 0 de hauteur via les fonctions FenA.Creer(hInstance, nSgoxCmd, pWa);
pWa va être un pointeur de type WNDPROC pointant sur la fonction de gestion générale des messages pour qu'ainsi, chaque objet feuille sache
quelle est la fonction générale de traitement des messages et l'atribue à lpfnWndProc, lpfnWndProc qui est un des élément de WNDCLASS.
On fera donc pointer pWa sur WinProcGeneral en disant pWa = WinProcGeneral;
Puis, dans WinProcGeneral, chaque message selon le hWnd reçu va envoyer toutes les informations (HWND, UINT, WPARAM et LPARAM à la fonction Winproc de l'objet
feuille intéressé.
Dans le programme présent, seul les messages de FenA sont traités pour montrer la différence. Ainsi, fermer la fenetreA terminera le programme alors que cela
ne fermera que la fenêtre si on ferme la fenetre B. cliquer dans la zone hDC de la fenetre A va la redimensionner en 100 par 100. La m^me chose dans la fenêtre B ne donne rien.
Dans et exemple, seul le click gauche de souris et la fermeture de fenêtre sont traitées.

Fichiers du programme:
Dans le repertoire ClasseFenetre, vous trouvrez la librairie LibClassFeuille, l'entête hFAC.h et le fchier programme CF1.cpp. le répertoire DEBUG contient le programme compilé en EXE
Dans le répertoire LibClassFeuille se trouve le fichier hFAC.h et cFAC.cpp qui sont les sources de la librairie

Codes Sources

A voir également

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.