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

Delphi Discussion :

Docking de Frame


Sujet :

Delphi

  1. #1
    Membre chevronné Avatar de der§en
    Homme Profil pro
    Bretagne
    Inscrit en
    Septembre 2005
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bretagne
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 109
    Par défaut Docking de Frame
    Bonjour,

    je suis en train de réaliser un outil open source pour le jeu de rôle Polaris (j’en suis encore à la première version alpha) qui ressemblerait à l’IDE de Delphi.

    Ma question n est, peut-on gérer des frames qui pourraient être « dockés » (ou flottantes) sur les bords de mon programme en utilisant Firemonkey ?

    Si vous aviez un bout de code ou un site expliquant la faisabilité, je serait preneur !

    Merci d’avances pour vos suggestions.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 658
    Billets dans le blog
    65
    Par défaut
    Bonjour, je ne suis pas sûr de comprendre le terme de flottant pour des frames, j'utiliserai plutôt des fenêtres.

    Pour ce qui est du docking (sur les plateformes Windows, Ubuntu, et possiblement Mac) j'ai écrit un papier ici qui devrait correspondre à la demande

  3. #3
    Membre chevronné Avatar de der§en
    Homme Profil pro
    Bretagne
    Inscrit en
    Septembre 2005
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bretagne
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 109
    Par défaut
    Merci pour le lien, je vais décortiquer ton code

  4. #4
    Membre chevronné Avatar de der§en
    Homme Profil pro
    Bretagne
    Inscrit en
    Septembre 2005
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bretagne
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 109
    Par défaut
    J'ai pris ton exemple ProjetDockingFMX_2 et j'y ai intégré les TFrames, cela fonctionne sauf quand je rend un TFrame flottant, il disparait bien du TabControl mais il n'apparait pas en fenêtre flottante, du coup, ma question est un TFrame peux-il être flottant sous Firemonkey ?

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 658
    Billets dans le blog
    65
    Par défaut
    Je pense qu'il faut que ce soit une fenêtre (qui peut très bien être sans bordures) pas une frame.
    Il faut dire que je n'ai jamais essayé non plus, peut-être qu'une frame avec quelques fonctions peut faire le job

  6. #6
    Membre chevronné Avatar de der§en
    Homme Profil pro
    Bretagne
    Inscrit en
    Septembre 2005
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bretagne
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 109
    Par défaut
    Voici le code source, c'est sans prétention, il est la juste pour tester la faisabilité !

    Si tu as une idée pour arriver a visualiser les TFrame en mode flottant, je suis preneur
    Fichiers attachés Fichiers attachés

  7. #7
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    ce n'est pas possible. sous FMX tous les composants sont dessinés par leur parent (sauf les composants "System"), TForm est spécial, il possède un TWindowHandle qui pointe sur une implémentation dépendante de la plateforme de la "fenêtre"...ce n'est pas le cas de TFrame qui n'a pas d'existence au niveau de l'OS...il ne sait donc pas s'afficher sur l'écran.

    dans FMX on n'a pas le TWinControl de la VCL qui existe au niveau Windows, avec un HWnd...n'importe quel TWinControl de la VCL peut être manipuler par l'API Windows...dans FMX il n'y a que TForm

    EDIT: alors si c'est toujours possible, mais ça veux dire que tu crées un TForm conteneur pour ton TFrame
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  8. #8
    Membre chevronné Avatar de der§en
    Homme Profil pro
    Bretagne
    Inscrit en
    Septembre 2005
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bretagne
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 109
    Par défaut
    Merci Paul pour la précision.

    Je vais revoir l’UI du fait de cette contrainte.

  9. #9
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    j'ai déjà fait une maquette d'application (VCL) avec une MainForm vide dans laquelle je colle un TFrame

    ensuite je peux instancier plusieurs TMainForm qui a chaque fois contient un TFrame (pas nécessairement le même)

    et si j'ai deux TMainForm et que je ferme la principale (Application.MainForm) alors elle vire son TFrame, récupère celui de l'autre instance, viens prendre sa place à l'écran et on vire la fiche qui n'est pas la main...ça donne l'impression qu'on a fermé la fiche principale et que la fiche secondaire est devenue la fiche principale

    donc soit tu changes tous tes TFrame en TForm, soit tu crées juste un TForm vide qui te servira de conteneur flottant pour afficher le TFrame flottant...Et quand tu remets le TFrame dans la fiche principale, tu peux détruire le conteneur.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  10. #10
    Membre chevronné Avatar de der§en
    Homme Profil pro
    Bretagne
    Inscrit en
    Septembre 2005
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bretagne
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 109
    Par défaut
    Tu as mis à DL cette maquette quelque part ?

  11. #11
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Citation Envoyé par der§en Voir le message
    Tu as mis à DL cette maquette quelque part ?
    non, j'ai plein de tests de différentes choses quelque part sur mon disque, je ne publie pas tout ce que je fais, ça serait un vrai foutoir quand je publie c'est qu'en général c'est quelque chose d'abouti, là c'était un test pour singer le fonctionnement des onglets de Chrome et je voulais donc pouvoir fermer les fenêtres dans n'importe quel ordre...mais j'avais encore des soucis sur le drag&drop des onglets et je suis passé à autre chose
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  12. #12
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 658
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    soit tu crées juste un TForm vide qui te servira de conteneur flottant pour afficher le TFrame flottant...Et quand tu remets le TFrame dans la fiche principale, tu peux détruire le conteneur.
    C'est ce que j'allais suggérer

  13. #13
    Membre chevronné Avatar de der§en
    Homme Profil pro
    Bretagne
    Inscrit en
    Septembre 2005
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bretagne
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 109
    Par défaut
    Ok, je vais faire des tests sur cette solution.

    Grand merci à vous 2

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/12/2012, 16h40
  2. Frame et Docking de Forme
    Par SergioMaster dans le forum Composants FMX
    Réponses: 11
    Dernier message: 01/06/2012, 10h37
  3. [flash] ouvrir une page dans une frame différente
    Par viena dans le forum Intégration
    Réponses: 6
    Dernier message: 01/08/2007, 15h54
  4. Linear Frame Buffer
    Par Neo82 dans le forum Assembleur
    Réponses: 10
    Dernier message: 01/03/2003, 21h11
  5. Frame Rate
    Par starsky dans le forum OpenGL
    Réponses: 6
    Dernier message: 31/08/2002, 00h40

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