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 :

[DLL] Afficher le contenu d'une dll dans un Tpanel


Sujet :

Composants VCL Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2002
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 10
    Points : 10
    Points
    10
    Par défaut [DLL] Afficher le contenu d'une dll dans un Tpanel
    Salut,
    Voila mon souci, auquel je n'est aucune idée pour le résoudre.
    Mon prog utilisera des dll
    Dans ces dll il y aura une fenêtre principale ou l'utilisateur fera ce qu'il doit faire.
    Or quand j'appel la dll, j'aimerai que le contenu s'affiche non pas dans une nouvelle fenêtre, mais dans une zone prévu a cet effet dans le programme principale,...
    Et je n'est réellement aucun idée comment faire.
    Ma seule intuition est d'utiliser un TFrame.

    Merci
    @+
    Fabs

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2002
    Messages : 69
    Points : 77
    Points
    77
    Par défaut
    Je ne sais pas si c'est possible, la seule solution que j'ai trouvé pour le moment c'est le MDI mais, même pour ça, ça ressemble un peu à du bidouillage.
    Mes programmes : www.antp.be/software/fr/

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2002
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Voila,
    on m'a répondu sur ngscan.com :-)
    Donc le truc c'est juste de changer le control parent de l'affichage de la form.

    Donc ca donne un truc kom a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
       Form1 := TForm1.CreateParented(HandleParent); //créé la fenêtre avec le handle que l'on veut (a faire passer en paramètre de la fonction appelé) 
       Form1.Top := 0;
       Form1.Left := 0;
     
       Form1.Show;

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2002
    Messages : 69
    Points : 77
    Points
    77
    Par défaut
    Et ça plante pas ?
    Le Handle à passer c'est celui de la form parent ?
    Il me dit qu'il est invalide :/
    Mes programmes : www.antp.be/software/fr/

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut utilise une procédure de classe sur un TWinControl
    Citation Envoyé par antp
    Et ça plante pas ?
    Le Handle à passer c'est celui de la form parent ?
    Il me dit qu'il est invalide :/
    dans la section public de ta classe TForm tu place une fonction procédure de classe comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    TMyForm = class(TForm)
    private
    ............
    public
    ............
    class function Execute(const MyParent: TWinControl): Boolean;
    end;
     
    implementation
     
    class function TMyForm.Execute(const MyParent: TWinControl): Boolean;
    var MyForm: TMyform;
    begin
    Application.createForm(TMyForm, MyForm);
    with MyForm do
    try 
    Parent:= MyParent;
    Result:= ShowModal = mrOk;
    finally
    FreeAndNil(MyForm);
    end;
    end;
     
    ensuite ta fonction d'export
     
    function ShowMyFormInMyParent(const MyParent: TMyParent): Boolean; export;
    begin
    Result:= TMyForm.Execute(MyParent);
    end;
    ( regarde sur les sites (google) comment on export des fonctions dans une dll si tu sais pas comment ;-) )

    et dans ton programme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ok:= MaDLL_ShowMyFormInMyParent(MonPanel); // par exemple
    si t'as besoin d'explications, n'hésites pas

    ShowMyFormIn

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

Discussions similaires

  1. Afficher le contenu d'une Hashtable dans un fichier Excel
    Par decoalaa dans le forum Windows Forms
    Réponses: 2
    Dernier message: 24/11/2008, 16h10
  2. afficher le contenu d'une variable dans une document.write
    Par argon dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/11/2008, 23h38
  3. Réponses: 8
    Dernier message: 26/08/2008, 16h09
  4. Réponses: 3
    Dernier message: 18/08/2008, 01h45
  5. Réponses: 7
    Dernier message: 11/01/2008, 01h11

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