begin process at 2010 02 10 08:56:38
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Tutoriaux

 > TUTORIAL UTILISATION DES MESSAGES WINDOWS

TUTORIAL UTILISATION DES MESSAGES WINDOWS


 Information sur la source

Note :
7,25 / 10 - par 4 personnes
7,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Tutoriaux Niveau :Expert Date de création :08/06/2002 Date de mise à jour :08/06/2002 09:12:52 Vu / téléchargé :4 405 / 697

Auteur : Delphiprog

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

 Description

Ce projet démontre comment créer ses messages (au sens Windows du terme)  et les utiliser au sein d'une application.
Il présente aussi la méthode pour "cracker" un message et effectuer différentes actions en fonction des paramètres reçus dans un message.
Une fois que vous avez compris celà, vous devriez être en mesure d'utiliser les messages envoyés à l'application par Windows et, éventuellement, de les détourner de leur usage originel (non recommandé) ou de leur faire faire davantage que ce qu'ils sont censés faire...
La compréhension des messages Windows est bien souvent une nécessité pour créer des composants.
C'est un plus pour écrire des programmes réagissant, de manière appropriée, aux signaux envoyés par l'environnement.


 Conclusion

Tout est dit plus haut.
Maintenant, pour ceux qui n'ont pas compris, téléchargez l'exemple (largement commenté dans le source) et mettez à profit cette technique dans vos futurs projets.

 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


 Sources du même auteur

Source avec Zip TABLE DE CORRESPONDANCE TYPES DE DONNÉES API/PASCAL OBJET
Source avec Zip Source avec une capture GÉNÉRER DES PDF AVEC DELPHI ET PDF CREATOR
Source avec Zip Source avec une capture DESIGN PATTERN OBSERVER : IMPLÉMENTATION RÉUTILISABLE
Source avec Zip DESIGN PATTERN STRATÉGIE APPLIQUÉ AU CODE "JOURNAL DE DÉBUGG...
Source avec Zip Source avec une capture DESSINER UN RECTANGLE DE SÉLECTION AU DESSUS D'AUTRES COMPOS...

 Sources de la même categorie

Source avec Zip Source avec une capture GESTION DE L'ACCÈS AU MDICHILD À L'AIDE D'ONGLET par CricriLeFou
MAILS AVEC INDY10 : CONTENTTYPE/CONTENTID/PARENTPART par MAURICIO
Source avec Zip Source avec une capture LES CODES DU TUTORIEL SUR LA PROTECTION DES LOGICIELS PAR FI... par Paounet
Source avec Zip Source avec une capture DESIGN PATTERN OBSERVER : IMPLÉMENTATION RÉUTILISABLE par Delphiprog
Source avec Zip Source avec une capture STEGANO - CACHER DU TEXTE DANS UNE IMAGE (TUTO) par pablor44

Commentaires et avis

Commentaire de grandvizir le 12/11/2004 19:49:22

J'avais fait un code source sur les messages dans les TEdit pour éviter les révélateurs de mots de passe. C'est tout bête et c'est un composant réutilisable. Si ça intéresse:
http://www.delphifr.com/code.aspx?ID=25416

Commentaire de Printems le 19/05/2009 22:27:51

Important :
1) Déclaration dans UConst : " WM_MyMessage = WM_APP + 1; "
2) Dans Umain: Uconst dans les uses
3) dans Umain " procedure WMMyMessage(var Msg: TMessage); message WM_MyMessage; "
==> WM_MyMessage étant défini dans le prototype de la procedure, ça marche.

Cela marche en SDI et aussi en MDI.

En MDI, le handle de la fenêtre enfant active est obtenu par Application.MainForm.MDIChildren[0].Handle
avec MainForm comme fenêtre principale

Un grand merci à Delphiprog

Commentaire de Delphiprog le 20/05/2009 12:04:45 administrateur CS

Merci à printems d'avoir su aussi bien résumer l'essentiel ;)
J'ai néanmoins une question : la fenêtre enfant active, dans une application MDI, a-t-elle toujours l'index O dans le tableau MDIChildren ? La réponse est oui si on n'a qu'une seule fenêtre enfant et non dans les autres cas.
N'est-il pas préférable d'utiliser la propriété ActiveMDIChild de la classe TCustomForm ?
=> Application.MainForm.ActiveMDIChild.Handle;

Commentaire de Printems le 23/05/2009 23:54:41

Effectivement, la fenêtre fille active est accessible par la propriété ActiveMDIChild.
Cependant MDIChildren[0] pointe également sur la fenêtre fille active.

Acceder à une fenêtre fille n'est pas trés simple.
Voila ce qui ressort de pas mal de temps passé faire des essais et des recherches dans l'aide :
L'index utilisé dans MDIChildren[ ] va de 0 à MDIChildCount-1. Si par exemple la fiche pointée par MDIChildren[3] est activée (en cliquant dessus), elle est alors pointée par  MDIChildren[0]. En même temps, les 3 fiches qui avaient des index compris entre 0 et 2 ont leur index incrémenté de 1, et les index sont alors compris entre 1 et 3. L'index de MDIChildren[ ] permet de connaitre les fiches en fonction de leur ordre d'utilisation, de la plus récente(0) vers la plus ancienne (1,2,3...,MDIChildCount-1).

Un 'deuxieme' index correspond au numéro d'ordre de component dans la fenêtre mère. C'est le ComponentIndex de la fenetre fille  (MDIChildren[ ].ComponentIndex). Il reste inchangé tant que aucun des components crés avant elle n'est détruit. Si un component créé avant elle est détruit, alors cet index est décrémenté de 1. Voir : ComponentCount, ComponentIndex, Components[].

Je crois que je m'écarte quelque peu du sujet de départ qui étatit les messages windows

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,624 sec (4)

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