MOVCONTROL

Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 - 28 déc. 2011 à 19:58
abmed1963 Messages postés 2 Date d'inscription mercredi 28 décembre 2011 Statut Membre Dernière intervention 30 décembre 2011 - 30 déc. 2011 à 18:46
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/53915-movcontrol

abmed1963 Messages postés 2 Date d'inscription mercredi 28 décembre 2011 Statut Membre Dernière intervention 30 décembre 2011
30 déc. 2011 à 18:46
Salut Mauricio,

Merci pour la réponse. Désolé car apparament j'ai examiné un vieux code. En fait j'ai juste fait une recherche en se basant sur le nom communiqué dans le premier commentaire.
Dans tout les cas je vois qu'on ne vend rien tout les deux, en tout cas pas les sources qui restent proposées gracieusement. Le fait qu'il y ait deux façons de faire de proposées ne ferait qu'enrichir ce site et ne peut être que bénéfique à nos amis qui le fréquentent ainsi que nous même. Je pense que c'est l'essentiel et le but recherché.
Ce que je voulais dire c'est qu'un composant ne doit pas dépendre d'un autre composant (au moins au niveau de la construction), l'héritage c'est plutôt entre classes (paradigme objet). Je me suis certainement mal exprimé.
Bonne année à toi et tout ceux qui me lisent.
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
30 déc. 2011 à 18:23
Salut Abmed1963,

je ne remets pas en cause l' utilité didactique de ton compo, bien au contraire, j' ai trouvé le code interessant...

mais quelques explications s' imposent: cyResizer.pas n' est qu' une unité faisant parti d' un pack composé de plus de 40 composants.
L' unité que tu dis absente fait bien entendu parti de ce pack.

Ce pack fait lui-même parti d' une suite (appelée Cindy, licence MOZILLA GPL) de plusieurs packs de compos gratuits avec fichiers sources + démos de chaque compo téléchargeables ici:
http://sourceforge.net/projects/tcycomponents/

Il existe aussi une version Lazarus (les compos fonctionnent sous telephones portable) que je regarde de très loin et donc, je ne peux pas te donner plus de précision.

"L'implémentation est radicalement différente"
Le compo TcyResizer n' a besoin que de 2 lignes de code pour être utilisé: aucune ligne de code n' est à mettre sur les controls manipulés (à l' inverse de la 1ère version du compo TcyResizer). Il fonctionne comme si on était sur l' IDE de Delphi.

"le code de cette classe dépend du code d'une autre classe (absente de la source d'ailleur): cydgradPaintbox. Or le principe même d'un composant est qu'il soit indépendant"
Par contre là, ce n' est pas vrai car cela remettrait en cause toute la logique d' héritage!

A+ et bonne année 2012!

PS: "What else" fait référence à la pub "Nespresso", mais ça, tu avais compris ...
abmed1963 Messages postés 2 Date d'inscription mercredi 28 décembre 2011 Statut Membre Dernière intervention 30 décembre 2011
30 déc. 2011 à 17:51
Bonjour,
Merci pour l'attention que vous avez manifesté pour ce modeste travail.
J'ai regardé le TcyResizer. Il est vraiqu'il a pour objectif de répondre à un même besoin, fréquemment rencontré en développement d'applications: celui du positionnement et du redimensionnement des contrôles GUI.
Mais je pense que la comparaison s'arrête là.
L'implémentation est radicalement différente. Il y a aussi une dimension différente, celle de l'approche didactique. Ce code a aussi, à côté de l'objectif purement fonctionnel (répondre à une problématique informatique plutôt technique), un objectif de présentation explicative de l'approche composant de la construction de logiciels.
A titre d'exemple, après un examen très rapide du code du TcyResizer, le code de cette classe dépend du code d'une autre classe (absente de la source d'ailleur): cydgradPaintbox. Or le principe même d'un composant est qu'il soit indépendant (dans le sens qu'il peut être construit et même utilisé) d'autres parties ou composants (lien mou à la place de lien rigide).
Je vous invite à lire la partie sur l'approche composant du développement logiciel du lien et vous trouverez certainement plus de précisions sur votre question : what else ?
Encore merci.
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
30 déc. 2011 à 15:23
Salut,

mon compo TcyReziser evidemment! What else?

A+
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
28 déc. 2011 à 19:58
Salut,

Petit snippet qui permet à l'utilisateur de déplacer un contrôle (ici un TPanel) en exécution et de l'amener au premier plan :

procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
ReleaseCapture;
Panel1.Perform(WM_SysCommand,$F012,0);
end;
Rejoignez-nous