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

C++Builder Discussion :

Composant graphique indépendant


Sujet :

C++Builder

  1. #1
    Membre éclairé
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Par défaut Composant graphique indépendant
    Bonjour,

    Je recherche à faire un composant graphique pouvant comporter d'autres composants graphique. C'est donc un composant conteneur un peut comme un scrollbox.
    Il faut aussi que ce composant soit totalement indépendant. Par exemple, si l'on a une fiche, ce composant pourrait s'afficher à côté de cette fiche ou à cheval entre la fiche et le reste du bureau ou n'importe ou sur l'écran.

    Mais pour l'instant, je n'ai trouvé que des composants qui sont directement liés à des fiches (TForm).
    Savez-vous comment faire ?

    Je ne veux pas faire de fiche avec des morceaux invisible. Je voudrais avoir quelques chose de dynamique que l'on peut rajouter à un projet qui n'a pas été prévu pour. Ainsi, ce composant sera réutilisable.

    Connaissez-vous une technique qui permet de le faire ?

  2. #2
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Salut, est-ce que tu as lu ceci: http://chgi.developpez.com/compo2/

  3. #3
    Membre éclairé
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Par défaut
    J'ai déjà regardé ces articles. Il me faut faire un composant qui peut en contenir d'autres. Son dessin doit pouvoir se faire n'importe où et ne pas être lié à une Form ou à un autre composant.

    Pouvoir écrire ou dessiné sur le controle n'est pas un problème puisque l'on peut toujours le faire via d'autres composants contenus.

    Pour résumer, je cherche à faire un composant conteneur qui peut être totalement indépendant du reste d'une application sans passer par une Form.

  4. #4
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Citation Envoyé par gandf Voir le message
    Il me faut faire un composant qui peut en contenir d'autres.
    Je ne suis pas certain de comprendre, mais si tu veux un composant de type conteneur, regarde ceci: http://chgi.developpez.com/compo11

  5. #5
    Membre éclairé
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Par défaut
    Merci pour ton aide.

    J'ai déjà lu tous ces cours. C'est bien ce type de composant que je veux faire mais il ne doit pas être posable sur une fiche. Il doit être indépendant.

    Je peux essayer de faire une image d'un exemple du résultat que je voudrais réaliser s'il faut.

  6. #6
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Citation Envoyé par gandf Voir le message
    Je recherche à faire un composant graphique pouvant comporter d'autres composants graphique. C'est donc un composant conteneur un peut comme un scrollbox.
    Il faut aussi que ce composant soit totalement indépendant. Par exemple, si l'on a une fiche, ce composant pourrait s'afficher à côté de cette fiche ou à cheval entre la fiche et le reste du bureau ou n'importe ou sur l'écran.
    D'après ce que je comprend ce qu'il te faut c'est un composant qui hériterais de TForm ou TCustomForm (???). Si tu veux dessiner quelques choses à l'écran tu as besoin d'une fiche. Elle peut être transparente et ne pas avoir de bouton (minimiser, maximiser et fermer).

    Par contre, il est impossible de créer un composant qui descend de ces classes. Donc, peut-être que tu devra utiliser une bibliothèque statique (.lib).

    Ce ne sont que des idées, peut-être que quelqu'un aura une meilleure solution.

    PS: j'ai déjà fait une dll (bibliothèque dynamique) qui ouvre une barre de progression sur une Form et sa fonctionne très bien. La barre de progression apparait en haut à gauche de l'écran et la form n'est pas visible. J'ai BorderStyle à bsNone et j'avais modifié l'AlphaBlend, mais dans ton cas c'est sans doute TransparentColor à true qu'il faudra mettre. Il suffit de créer une DLL standard comme expliqué ici (http://lfe.developpez.com/DLL/) et d'y insérer une TForm. Dans mon code je l'appelle avec ShowModal. En plus, ma DLL est appelé dans labView.

  7. #7
    Membre éclairé
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Par défaut
    concernant la partie dll, j'ai déjà intégré des fonctions devant être dans une dll directement dans le programme principal. Mais je ne sais pas si on peut le faire avec un composant.

    Je voulais utiliser un éditeur pour ce composant un peu comme avec un TPopupMenu ou un TMenu.
    Le fait de le pas pouvoir avoir un vrai composant est vraiment une grosse limitation.

    Est-il possible de faire en sorte que les fenêtres invisibles soit collée les unes aux autres sans que l'on ne puisse voir qu'il y a des bords ?

    Sous C++Builder 6, le plugin cnwizard arrive a ajouter des boutons sur le bord des TForm lors de l'édition. Je voudrais pouvoir en faire de même.

    Merci pour ton aide, je vais déjà voir ce que je peux faire.

  8. #8
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Citation Envoyé par gandf Voir le message
    concernant la partie dll, j'ai déjà intégré des fonctions devant être dans une dll directement dans le programme principal. Mais je ne sais pas si on peut le faire avec un composant.
    C'est impossible d'intégrer un composant que tu pourras insérer dans ta palette d'outil à l'intérieur de C++Builder. Par contre, tu peux PEUT-ÊTRE le créer dynamiquement.
    Citation Envoyé par gandf Voir le message
    Je voulais utiliser un éditeur pour ce composant un peu comme avec un TPopupMenu ou un TMenu.
    Le fait de le pas pouvoir avoir un vrai composant est vraiment une grosse limitation.
    TPopupMenu et TMenu sont lié à des TForm. D'après, ce que je comprend, ce n'est pas le cas pour ce que tu cherches à faire. Par définition un composant hérite de TComponent, dont voici le constructeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    __fastcall virtual TComponent(TComponent* AOwner);
    Comme tu vois il doit posséder un Owner.

    D'après moi il faut oublier l'idée d'un composant. Par contre, tu peux utiliser un TForm dans lequel tu y insère ce que tu veux et tu met le tout dans une bibliothèque.

    À moins de faire un composant qui va modifié son Owner...

  9. #9
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    J'ai peut-être une autre idée, essaie de faire un composant qui hérite de TCommonDialog

    J'ai aucune idée si sa va fonctionné.

    Depuis le début, ce que je met ici, c'est plutôt des réflexions à haute voix

    En espérant que sa peut t'aider...

Discussions similaires

  1. Composant graphique multiple (ou dérivé d'un TFrame)
    Par Jean Bovet dans le forum C++Builder
    Réponses: 5
    Dernier message: 30/04/2007, 18h57
  2. [Composant Graphique] List Box "synchronisés"
    Par Raideman dans le forum C++Builder
    Réponses: 9
    Dernier message: 03/11/2006, 19h50
  3. Activer et désactiver des composant graphiques?
    Par redabadache3 dans le forum Débuter
    Réponses: 1
    Dernier message: 16/08/2005, 17h50
  4. Palette de composant graphique
    Par kastor111 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 08/07/2005, 15h04
  5. Composant graphique
    Par Rodrigue dans le forum C++Builder
    Réponses: 4
    Dernier message: 21/12/2004, 20h03

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