Utilisation des classes

Messages postés
406
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
4 septembre 2013
-
Messages postés
406
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
4 septembre 2013
-
Bonjour à tous

Voila je viens de découvrir que les contrôles sont créés par la même classe que les fenêtres

WNDCLASS wc;
    wc.cbClsExtra     = 0;
    wc.cbWndExtra     = 0;
    wc.hbrBackground  = (HBRUSH)(COLOR_WINDOW + 1);
    wc.hCursor        = LoadCursor(NULL, IDC_ARROW);
    wc.hIcon          = LoadIcon(NULL, IDI_APPLICATION);
    wc.hInstance      = hInstance;
    wc.lpfnWndProc    = WndProc;
    wc.lpszClassName  = "Classe 1";
    wc.lpszMenuName   = NULL;
    wc.style          = CS_HREDRAW | CS_VREDRAW;
     RegisterClass(&wc);


Je voudrais savoir a quel moment, il est nécessaire de refaire une nouvelle classe, dans mon exemple une "Classe 2" ??

Utilise t'on la même classe pour une fenêtre et tous ses contrôles, et il faut en recréer une autre à chaque nouvelle fenêtre ???
Ou bien c'est une classe par type de controle (Une pour tous les TextBox, Une autre pour tous les combo, etc...)

Merci et bonne journée

3 réponses

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
Salut,

Je n'ai pas tout compris... Tu développes en Win32, MFC, Winforms, autres ?

En Win32 en tout cas, on utilise généralement tout un tas de classes. On utilise souvent une classe personnalisée comme ci-dessus pour les fenêtres principales. Pour les contrôles, on utilises les classes fournies par Windows, BUTTON, COMBOBOX, EDIT, STATIC, WC_TREEVIEW, STATUSCLASSNAME...
Messages postés
36
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
7 novembre 2010

Une classe window permet de déterminer des paramètre par default d'une gestion de fenêtre.


Quelque part c'est un abus de différencier les boutons, contrôles, et fenêtre . Ce sont tous des fenêtres, avec des classes, parents et paramètres différents.

Si tu souhaite créer plusieurs instance d'une même fenêtre alors tu utilise une même classe, qui et détermine pour appeler une WINDOWPROC spécifique a cette fenêtre.

Au contraire, si tes multiples fenêtre sont différentes (fenêtre d'option, une d'édition, et une d'enregistrement de fichier par exemple) alors tu créera différente classe spécifique a leur utilisation (comme "ClassWinOption", "ClassEdition"....)

Je ne sais pas si ca vas t'aider, mais j'espère mettre assez bien exprimé.

DeleteFile("C:\\AUTORUN.EXE");
Messages postés
406
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
4 septembre 2013
1
Je n'ai pas tout compris... Tu développes en Win32, MFC, Winforms, autres ?

Je développes...enfin j'essaie de développer, serait plus juste, en Win32

Je ne sais pas si ca vas t'aider, mais j'espère mettre assez bien exprimé.

Si si...je crois avoir compris
Donc, on fait une seule classe pour toutes les fenêtres identiques et tous leurs contrôles.

Et si les fenêtres n'ont pas la même forme, ou le meme style, alors on créé une autre class par style de fenêtre, et je suppose que leurs contrôles utiliserons aussi les class respectives de chacune des fenêtres

J'espère avoir bien compris

Merci a vous deux de vos réponses