------------------------------------------------------------------------------------------------------------
TSnapForm v1.3b - Copyright (C) 2003 (cyberbobjr & yoopi)
30/06/2003
------------------------------------------------------------------------------------------------------------
Auteurs :
cyberbobjr - cyberbobjr@yahoo.com
Emandhal - Hydrogene@netcourrier.com

Ce composant permet  une fiche de se magntiser  une autre fiche (comme dans WinAmp).
La force d'attraction est paramtrable.
Il est galement possible de coller la fiche et faire dplacer la fille colle avec celle qui la colle.
------------------------------------------------------------------------------------------------------------
Ce composant est soumis  la licence GPL, vous pouvez la consulter dans le fichier "Licence.txt" (ou "LicenceFR.txt" en francais).
Avec cet ajout :
Dans le cas o ce composant est distribu dans une compilation (CD ou DVD), vous devez nous fournir une copie de cette compilation.
------------------------------------------------------------------------------------------------------------
Historique :
TSnapForm v1.3b - Composant non visuel
Correction de bugs :
  - La fiche ne se dcolle plus lorsque l'on l'a dplace trop vite
  - On peut activer le collage aprs la magntisation avec une prise d'effet immdiate

TSnapForm v1.2b - Composant non visuel
Amliorations :
  - Correction de bugs
  - Ajout de l'utilisation dans les MDI
  - Possibilite de coller les bords de l'cran (de mme dans les fentres MDI, on peut coller les bords de la surface visible)

Quelques bugs existent, en particulier :
  - Certainement dans la colle en particulier si la fiche sont colles par magntisme et que l'on active la colle, la colle ne prend pas..
    Il faut refaire la magntisation dans ce cas...

TSnapForm v0.9b - Composant non visuel
Quelques bugs existent, en particulier :
  - Lors d'un dplacement rapide et lorsque les fiches sont colles, la fiche se dcolle
  - Le collage disparait lorsqu'on min/max la fentre

------------------------------------------------------------------------------------------------------------
Quelques rappels :
  - Fiche magnetique : la fiche A est attire par la fiche B lorsque A est dplace prs de B
  - Fiche colle : la fiche A se dplace en mme temps que la fiche B lorsqu'elle est dplace

Dtails des proprits publie :
  Active : dtermine si la magntisation est active ou non (faux  la cration) - Boolen
  ActiveStick : Dtermine si on active le collage sur la fentre magntise - Boolen
  SnapStrenght : Dtermine la force de la magntisation - Integer
  SnapScreenBorder : Permet de dterminer la magntisation sur les bords de l'cran - Boolen

Dtails des fonctions :
    SetScreenRect; Enregistre la position des 4 coins de l'cran ou de la surface MDI visible dans FScreenRect
    WMMoving; Procdure appele lors du dplacement de la fentre parente
    WMMovingStick; Procdure appele lors du dplacement de la fentre colle
    HookStickForm; Procdure initialisant la capture du message windows de dplacement de la fentre colle
    UnHookStickForm; Procdure supprimant la capture du message windows de dplacement de la fentre colle
    HookForm; Procdure initialisant la capture du message windows de dplacement de la fentre parente
    UnhookForm; Procdure supprimant la capture du message windows de dplacement de la fentre parente
    WndProcForm(var AMsg: TMessage); Gestion des messages de la fentre parente
    WndProcStickForm(var AMsg: TMessage); Gestion des messages de la fentre colle
    SetActive(value : boolean);  Procdure activant ou non la magntisation de la fentre parente
    SetStickActive(value : boolean); Procdure activant ou non le collage de la fentre magntise
    SetSnapScreenBorder(value : boolean); Procdure activant ou non le magntisme du bord de l'cran
    create(AOwner : TCOmponent); override; Constructeur du composant
    AddFormSnap(SnapForm : string); Ajoute une fiche pour la magntisation
    DelFormSnap(SnapForm : string); Supprime une fiche magntise
    Destroy; override; Destructeur
------------------------------------------------------------------------------------------------------------
TSnapForm est un composant non visuel.
Il suffit de le placer sur la fentre mre, puis dans le code de spcifier les fiches concernes par la commande :
AddFormSnap(FicheAAjouterDeTypeTForm)

L'activation du magntisme et du collage se fait en positionnant les proprits suivantes :
Active : pour activer le magntisme sur les fiches ajoutes par AddFormSnap
ActiveStick : pour activer le collage sur les fiches ajoutes par AddFormSnap
SnapScreenBorder : pour activer le magntisme sur le bords de l'cran

SnapStrenght : Dtermine la force du magntisme

Pour un exemple concret, n'hsitez pas  vous rfrer a l'exemple fourni avec l'archive.