begin process at 2012 02 09 06:42:05
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > UNE BIBLIOTHÈQUE C++: CLASSES ET WINDOWS, MINI MFC

UNE BIBLIOTHÈQUE C++: CLASSES ET WINDOWS, MINI MFC


 Information sur la source

Note :
8,5 / 10 - par 4 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :API Niveau :Débutant Date de création :20/01/2005 Date de mise à jour :29/01/2005 02:14:55 Vu / téléchargé :5 163 / 306

Auteur : bayeto

Ecrire un message privé
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Cette petite collection de classes n'est pas faite pour rivaliser avec les MFC ou autres.
Elle permetra juste d'apréhender une fusion objet/handle pas très evidente mais plutôt pratique.

Ce code est léger est peu très bien servir à un petit programme ou même être le point de départ d'une plus grosse lib

Source

  • //pas de macro bien grasse pour la table des messages mais
  • //une fonction virtuelle qui est appeler lorsque l'objet est attaché à un handle.
  • void MaWnd::map_messages()
  • {
  • Wnd::map_messages();
  • connect_message(WM_MOUSEMOVE, (MSGPARAMSLOT) &MaWnd::onMouseMove);
  • connect_message(WM_LBUTTONUP, (MSGPARAMSLOT) &MaWnd::onLButtonUp);
  • connect_command(ON_FILE_EXIT, (CMDSLOT) &MaWnd::onFichierQuitter);
  • connect_message(WM_CLOSE, (MSGSLOT) &MaWnd::onClose);
  • connect_command(IDC_TEXT,EN_CHANGE, (CMDSLOT) &MaWnd::onTextChange);
  • connect_message(new SignalMouse(WM_LBUTTONDOWN, (MSGSLOT) &MaWnd::onLButtonDown));
  • }
//pas de macro bien grasse pour la table des messages mais 
//une fonction virtuelle qui est appeler lorsque l'objet est attaché à un handle.
void MaWnd::map_messages()
{
 Wnd::map_messages();
 connect_message(WM_MOUSEMOVE, (MSGPARAMSLOT) &MaWnd::onMouseMove);
 connect_message(WM_LBUTTONUP, (MSGPARAMSLOT) &MaWnd::onLButtonUp);
 connect_command(ON_FILE_EXIT, (CMDSLOT) &MaWnd::onFichierQuitter);
 connect_message(WM_CLOSE, (MSGSLOT) &MaWnd::onClose);
 connect_command(IDC_TEXT,EN_CHANGE, (CMDSLOT) &MaWnd::onTextChange);
 connect_message(new SignalMouse(WM_LBUTTONDOWN, (MSGSLOT) &MaWnd::onLButtonDown));
}

 Conclusion

La lib est bourée de bug, mais elle peut faire tourner l'exemple :)
J'ai testé sous VC++ 6.0 et DevCpp 4.9.9.1: vous trouverez les fichiers de projets pour chacun

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

21 janvier 2005 15:55:54 :
Les SignalMessage sont maintenant divisés en 2: SignalMsg: MSGSLOT sans param ex: long MaWnd::onClose() SignalMsgParam: MSGPARAMSLOT avec param ex:long MaWnd::onMouseOver(WPARAM,LPARAM)
21 janvier 2005 17:16:29 :
Le programme se compile sans erreur sous DevCpp maintenant
24 janvier 2005 10:37:07 :
Quelques corrections et améliorations: * La classes Thread est exportée de la lib * Ajout du Signal utilisant les notifications via WM_COMMAND * Un nouvel exemple plus complet (comment ça déja vu??) * Ajout de fonctions membres à la classe Wnd.
29 janvier 2005 02:14:55 :
* A la demande général, vcp.bin n'est plus dans les resources mais ouvert par un filemapping. * mise à jour de connect_message qui devient bien plus poo, avec possibilite de personalisation des Signal... (merci les fonctions virtuelles!) merci encore - j'attend vos commentaires.

 Sources du même auteur

Source avec Zip Source avec une capture VISUALISEUR HEXADECIMALE
Source avec Zip Source avec une capture UN PETIT PROGRAMME POUR LES CODES POSTAUX

 Sources de la même categorie

Source avec Zip WIN32 TLS LENT par dguilmain
Source avec Zip VIDER ELEMENTS DE CORBEILLE WINDOWS7 (WIN64) par BruNews
Source avec Zip Source avec une capture FIND TEXT (WIN64) par BruNews
Source avec Zip DELETE DIRECTORY (WIN64) par BruNews
Source avec Zip ENUM DIRECTORY (WIN64) par BruNews

Commentaires et avis

Commentaire de cosmobob le 21/01/2005 01:07:51

salut,
ben j'ai rapidement vu, mais ca me semble super bien ce que t'as fait, alors la bravo !
tu dis que t'as lib est bourée de bug, en as tu repéré, ou c'est juste pour te prémunir qd quelqu'un va t'en signaler un?

a++ ;)

Commentaire de bayeto le 21/01/2005 14:30:48

Oui il y en a. Notamment au niveau des valeurs de retour des procédures de fenêtres (cf Wnd et Dialog)

Sinon merci à toi :)

Commentaire de mulder69 le 21/01/2005 15:33:56

ya kk'un ki peut m'expliquer rapidement ce k'est un handle?? suis debutant sous c++ (confirmé sous Vb) et ce terme reviens courament (ainsi ke thread d'ailleur lol)

merci

Commentaire de bayeto le 21/01/2005 16:09:30

l'api Windows nous founit des handles pour travailler.

une fenetre par exemple est reprenter par un handle de type HWND.

HWND hWnd = CreateWindowEx(...); //
DestroyWindow(hWnd);

un DC est un HDC.
HDC hdc = GetDC(hWnd);
ReleaseDC(hWnd,hdc);

pour faire court: un thread est une unite d'execution concurrente dans un processus; ca permet de faire plusieurs taches 'en meme temps' au sein d'un meme processus.

Commentaire de Kirua le 21/01/2005 22:10:21

DC = device context, c'est une zone mémoire dans laquelle tu peux dessiner, mais qui n'est pas forcément représentée à l'écran! L'écran est d'ailleurs un DC. L'avantage: tu peux travailler dans un DC caché, puis quand les calculs de dessin sont terminés, tu recopies le contenu du DC dans un DC affiché, et ça évite d'avoir le tracé en cours.

Un handle est en fait seulement un identifiant, un numéro attaché à un objet (une fenêtre, un bouton...). Quand un événement à lieu (par exemple, on click sur un bouton), le gestionnaire d'événements de l'API windows va préciser que l'événement est un click de bouton, et va passer le handle du bouton, c'est-à-dire son identifiant unique, ce qui nous permet de le repérer, et de savoir QUEL bouton a été clické.

Un thread est en effet une tâche. Plusieurs threads peuvent être exécutés en parallèle (en même temps), ce qui est avantageux si tu veux par exemple pouvoir effectuer un long calcul, tout en permettant à l'utilisateur d'appuyer sur un bouton "annuler" par exemple, ou bien de lancer deux longs calculs en même temps etc...

Commentaire de Alpacha le 22/01/2005 07:29:48

Pas mal...
Fais une recherche sur "MX Class" c'est une lib similaire à la tienne elle devrait t'inspirer.
Alp

Commentaire de Alcantornet le 05/04/2005 14:44:08

Super ta lib !!! Mais pourquoi tu la appelé wasistdas, en allemand was ist das signifie : c'est quoi.

Mais sinon... rien à dire (enfin un truc que je comprends pour faire des interface graphique)

Bravo !!!

Commentaire de bayeto le 05/04/2005 18:43:51

Aber ja, mais un wasistdas c'est une fenetreuh.

Commentaire de Kirua le 09/04/2005 12:53:42

mdr bayeto, c'est génial ce nom :) bravo, j'avais pas compris ^^.

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,936 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales