IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

Création composant pour faire un splash screen


Sujet :

Composants VCL Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Création composant pour faire un splash screen
    Bonjour,
    Voilà, j'aimerais créer un petit composant qui me fait un splash screen, donc j'hériterais d'un TForm...
    Mais voilà, je me pose quelques questions:
    -Héritant déjà d'un TForm, peut-on encore incorporer un Timer, ainsi qu'une Image dans un composant?
    Si oui, comment?
    - Peut-on garder les les propriétés du Tform qui nous interressent, et "virer" toutes les autres?
    Je sais qu'on peut remplacer et ajouter des propriété, mais supprimer les autres, ca je ne sais pas...

    Voilà, c'est à peu près tout...

    PS: Si vous avez une autre solution que ce que je propose, je suis preneur! (pour le faire en composant, bien sur!)

  2. #2
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Salut,

    Si tu regarde bien le source dans l'unité Forms, tu verras grossomodo que :
    - TForm descend de TCustomForm
    - TForm change le scope de certaines méthodes et propriétés protected de TCustomForm.

    Donc, il te suffit aussi à mon avis de créer ton :
    - TCustomSplashForm descendant de TCustomForm
    - Mettre dedans ce que tu veux.( Images, timer etc)
    - Créer ton TSplashForm descendant de TCustomSplashForm
    - Changer la visibilité de propriétés et methode que tu veux rendre accessible à l'utilisateur final.

    En gros c'est comme ça que je l'aurais fais.

    A+
    On progresse .....

  3. #3
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 699
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 699
    Points : 13 138
    Points
    13 138
    Par défaut
    Comme dit Andry

    Il n'est pas possible de réduire la visibilité des méthodes et propriétés de l'ancêtre. Uniquement les augmenter.

    Il n'y a aucun problème à ajouter des composants sur une fiche héritée. Prends par contre immédiatement l'habitude de renommer les composants et de ne pas laisser Label1, Edit1, etc. Si tu viens à ajouter un composant sur la fiche ancêtre, la fiche héritée pourrait ne plus s'ouvrir s'il y a un conflit de nom

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Re:
    Salut, merci de vos réponses!

    Mais j'ai encore pas mal de questions:
    -Comment ajouter des composants visuel (donc, Timage et Ttimer) dans mon TCustomSplashForm?
    Je sais comment ajouter des propriété, etc... mais je ne vois pas comment ajouter un composant par le code! Tu aurais peut etre un exemple?
    -Comment placer ces composants sur la Form? (Timage au centre, etc...)

    Je n'ai pas bien compris le concept; On crée une form qui hérite de TCustomForm, on ajoute d'autres composant, puis on crée une nouvelle Form qui hérite de la première?
    Pourquoi ne peut-on pas enregistrer le premier composant créé?

    Dsl, le seul composant que j'ai réussi à faire jusqu'ici, c'est une version perso d'un Edit, donc niveaux expérience je suis au niveau 1...

  5. #5
    Membre éclairé Avatar de Kaféine
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 569
    Points : 736
    Points
    736
    Par défaut
    Salut,

    A mon sens, pour ton composant SplashScreen, tu devrais créer un composant non visuel qui appelle une form. Ainsi, tu manipule le composant non visuel et non la form qu'il contient.
    Akim Merabet

  6. #6
    Membre averti
    Avatar de Félix Guillemot
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 149
    Points : 386
    Points
    386
    Par défaut
    Citation Envoyé par formula_one Voir le message
    Salut, merci de vos réponses!

    Mais j'ai encore pas mal de questions:
    -Comment ajouter des composants visuel (donc, Timage et Ttimer) dans mon TCustomSplashForm?
    Je sais comment ajouter des propriété, etc... mais je ne vois pas comment ajouter un composant par le code! Tu aurais peut etre un exemple?
    -Comment placer ces composants sur la Form? (Timage au centre, etc...)

    Je n'ai pas bien compris le concept; On crée une form qui hérite de TCustomForm, on ajoute d'autres composant, puis on crée une nouvelle Form qui hérite de la première?
    Pourquoi ne peut-on pas enregistrer le premier composant créé?
    Bonjour,

    J'ai l'impression que ton questionnement vient du fait que tu ne sais pas pourquoi tu veux créer un composant pour faire une SplashScreen.
    En effet, pour en avoir vu et fait des tas, je ne vois pas l'intérêt de faire un composant. Il te suffit de créer un descendant de TForm, de mettre dedans tous les composants que tu veux (TTimer, Timage, etc) et d'implémenter les méthodes qui sont nécessaires au fonctionnement et au pilotage de ce descendant de TForm.
    Si tu veux, tu peux inclure le .pas et la dfm dans un dpk pour le ranger.
    Une fois que c'est fait, tu peux même ajouter la Fiche au référentiel dans Delphi (click droit...ajouter au référentiel) pour pouvoir l'hériter ensuite ou la cloner, et voila.
    La SplashForm est une fiche qui a un métier particulier et non un composant.
    Je crois que revoir les choses de cette façon devrait résoudre tes problèmes en anihilant les questions que tu te poses.

    FLX.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    RE!
    J'ai trouvé ça: http://www.phidels.com/php/index.php...n/FichComp.htm
    J'ai essayé de transposé ça sur une fiche prête pour mon splash (couleur transparente, Ttimer, Timage, ...), mais quand je le lance ça m'indique une erreur de lecture d'adresse...
    Est-ce que le lien (donné ci-dessus) pourrait marcher?

    Merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/11/2012, 12h45
  2. Comment faire un splash screen pour son application?
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 26/04/2007, 14h28
  3. chercher composant pour faire des diagrammes
    Par payenneville dans le forum Composants VCL
    Réponses: 5
    Dernier message: 19/05/2006, 08h39
  4. Cherche composant pour faire des diagrammes de Gantt
    Par Ptite Développeuse dans le forum C++Builder
    Réponses: 5
    Dernier message: 27/04/2006, 11h56
  5. Superposition de composant pour faire une image
    Par spikto dans le forum Composants VCL
    Réponses: 14
    Dernier message: 31/12/2005, 15h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo