46 votes

Recommandations pour une bibliothèque d'ancrage pour Delphi / C ++ Builder?

Mon équipe est en cours de réflexion de déplacement de notre existants MDI-fondé de l'application pour un plus moderne, la station d'accueil. Nous sommes encore en réflexion, mais nous aimerions déplacer vers quelque chose comme VS2010 de l'accueil et de l'aspect visuel:

VS2010 UI and docking screenshot

Ce a les caractéristiques suivantes:

  • Montre mixte aperçu de ce que la fenêtre de quai
  • Les quais dans des onglets, ainsi que les side-by-side
  • Permet l'accueil en faisant glisser et relâcher plus d'une image montrant la position du dock (j'appelle cela une "accueil widget" ci-dessous)
  • Semble assez bon aussi (thème / UI-sage)

Je vais avoir du mal à trouver une bonne qualité d'accueil de la bibliothèque à utiliser avec RAD Studio 2010 et je suis à la recherche de conseils sur ce que la bibliothèque/s je n'ai pas trouvé ou la façon d'utiliser ceux que j'ai trouvé pour arriver à quelque chose comme ça.


  • Mise à jour 2 juillet 2011: à Cette question, regarda tous d'accueil de la bibliothèque disponible pour Delphi/C++Builder, donc j'essaye de le tenir à jour. Deux changements que je suis au courant:
    • SmartBear, qui est maintenant propre AutomatedQA, ont en fin de lifed AutomatedQA de l'accueil de la bibliothèque. - Ce un j'ai recommandé l'achat. Ils envisagent de open-source.
    • Le seul problème que j'ai eu avec DevExpress d'accueil (que fait-il pas digne de l'achat) était son manque de soutien pour VS2008/10-le style d'accueil, avec une station d'accueil widget, superposition transparente que vous avez fait glisser, etc. Ils sont maintenant de la mettre en œuvre. De ce fait, et depuis AQDocking n'est plus vendu, si j'ai posé cette question maintenant, mon acceptée réponse serait d' acheter DevExpress d'Accueil.

J'ai trouvé les bibliothèques suivantes. Voici un aperçu:

Intégré VCL d'accueil

Cela permet de formulaires à être ancré sur d'autres formes ou TWinControls, mais semble être assez basique. Les formes de glisser à l'aide d'un XOR peint le contour, qui fonctionne très mal sous Vista et Win7. Il y a un TTabDockSet de contrôle pour les onglets ancrée formes, mais je ne peux pas comprendre comment contrôler le quai des formes les titres de rendre une fois à quai. Je pense que la mise en œuvre d'accueil side-by-side devra être fait manuellement, en créant de nouvelles docksite panneaux à la volée. La RAD Studio IDE d'accueil de windows sont un peu plus lisse que ce (transparent rectangles lorsque vous faites glisser un formulaire, par exemple) ce qui est étrange, car je pensais il a utilisé la CLASSIFICATION d'accueil de soutien.

JVCL d'accueil

Cela ressemble un peu plus d'une solution décente que l'intégré VCL d'accueil. Il prend en charge d'accueil sur n'importe quel bord ou le client, et montre un alphablended rectangle où le formulaire de quai.

JVCL docking test program

Il semble être assez buggé (déposer un deuxième formulaire en haut de la première est autorisé, mais le gèle le programme) et n'a pas intégré les onglets quai de soutien ou toute sorte d'abandon de l'emplacement du widget.

LMD Accueil Pack

Ça a l'air prometteur: bien qu'il ne semble pas directement quai de formes, il a panneaux d'accueil et de contrôle de cadres sont placés sur que. Les formes existantes pourrait être transféré à des images. Il dispose également d'une station d'accueil widget et des onglets de support d'amarrage.

Cependant, la démonstration semble être tout à fait fiable. J'ai la dernière version d'évaluation installée, et la création d'un nouveau projet avec une station d'accueil du site et de plusieurs panneaux et en appuyant sur Exécuter causes suivantes:

LMD docking

C'est de s'écraser dans le composant formulaire en streaming. Visuellement, l'examen de la DFM fichier ne montrent rien de mal, mais il y a un opaque blob binaire pour la mise en page des informations qui peuvent être à l'origine. Ce n'est pas particulièrement encourageant, dans une version d'évaluation.

DevExpress ExpressDocking

J'avais de grands espoirs pour cela: je n'ai jamais utilisé de DevExpress contrôles avant mais ils ont une bonne réputation. Mais leur programme de démonstration a été vraiment décevant:

DevExpress docking

Le contrôle est flickery et ne semble pas de thème bien avec Windows, même en utilisant le style XP. Il comporte des onglets d'accueil, mais il utilise un XOR le contour de quelque chose qui ne fonctionne pas bien sur XP ou Vista. Il n'a pas aussi toute sorte de d'accueil widget. Franchement, on dirait qu'il n'a pas été mis à jour depuis Windows XP jours. Mise à jour juillet 2011: C'est en cours d'amélioration.

AutomatedQA / SmartBear d'accueil de la bibliothèque

C'est la plus prometteuse de toutes les bibliothèques de la mesure.

AutomatedQA docking library

J'utilise régulièrement AQTime, un excellent profiler, qui semble être écrite à l'aide de leur propre accueil de la bibliothèque, et il fonctionne bien. Cependant, la dernière version de l'accueil de la bibliothèque de téléchargement d'essai est de RAD Studio 2009, et les conseils donnés pour l'installation en 2010, c'est que c'est pas pris en charge et vous devrez recompiler le code source. La démo n'a pas de source, et nous n'avons pas RS2009, et l'installateur refuse l'installation, à moins que nous faisons, et même si nous avons réussi à obtenir pour installer nous ne pouvons pas l'utiliser car nous aurions besoin de recompiler le inexistants source.

J'ai été en contact avec leur équipe de soutien, et ils m'a signalé ce fil. J'ai aussi trouvé un autre thread avec des clients qui demandent la même chose. J'ai répondu et j'espère avoir de meilleures nouvelles. Je ne suis pas très chaud pour nous recommande d'acheter un produit je ne peux pas évaluer, surtout quand il n'est pas pris en charge pour notre IDE.

  • Mise à jour: j'ai fini par acheter cette bibliothèque. En dépit de difficultés à évaluer (il travaille dans D2007, et j'ai eu une copie de cela), il semble le plus facile à utiliser de toutes les bibliothèques, et aussi le plus puissant - il est facile d'écrire un thème pour elle, par exemple. Je recommande vivement si vous en avez besoin pour sélectionner une station d'accueil de la bibliothèque.

  • Mise à jour juillet 2011: Cette bibliothèque n'est plus vendu, mais peut être open-source bientôt.

Qu'ai-je manqué?

C'est tout ce que j'ai trouvé à ce jour. Que faire maintenant?

  • Ai-je manqué tout bon accueil des bibliothèques pour Delphi / C++ Builder / RAD Studio 2010?
  • Ai-je manqué à l'une des fonctions dans les bibliothèques, j'ai lookd à ce jour? Une réponse comme "Vous avez raté FooBar" ou "JVCL n'ont, en effet, une station d'accueil widget, et vous pouvez l'utiliser comme si..." serait assez génial de l'entendre.
  • Que recommanderiez-vous comme ma prochaine étape?

Merci pour vos commentaires :)

6voto

Warren P Points 23750

Je suis un développeur Jedi JVCL et j’ai utilisé JvDocking dans mes propres projets commerciaux internes, et j’ai trouvé que celui-ci était solide et fiable.

De plus, c'est gratuit. C'est facile d'étendre. Il crée une apparence et une sensation à peu près identiques à celles de l’architecture de Visual Studio 2008.

3voto

Ryan J. Mills Points 2129

Je n'ai pas trouvé une seule bibliothèque qui fait tout ce que je voudrais, donc, après avoir fait quelques tests, j'ai trouvé que je pouvais faire à peu près tout ce que je voulais en utilisant le Natif VCL d'Accueil (NVCLD) contrôles avec une série de modifications personnalisées et des contrôles supplémentaires.

Ce qui suit est une liste des choses que j'ai rencontré dans l'obtention de la NVCLD de travailler comme je le voulais. Je n'ai pas eu beaucoup de problèmes de portage entre les versions, mais c'est parce que j'ai la src.

Si vous n'êtes pas à la recherche de rouler votre propre ou vous voulez vraiment utiliser un 3ème partie de la bibliothèque, alors vous pouvez probablement arrêter de lire le reste de cette. :)

Des Composants Supplémentaires:

  1. TDockPanel

    Ce fortement modifiées panneau d'ancrage est le cheval de bataille de mon système. J'ai trouvé l'original sur le net, mais ont modifié depuis un peu plus de souplesse pour mes besoins.

  2. Personnalisé d'Accueil pour les Formes (forme de Base)

    En utilisant une mesure de la classe de base pour mes formes d'accueil et d'hériter en cas de besoin, j'ai moins de modifications à faire sur tous les descendant des formes.

Modifications Personnalisées

Ces sont les modifications apportées à la .pas de fichiers de la NVCLD composants eux-mêmes. La plupart de ces modifications n'ont plus à être faite en raison de certaines améliorations apportées à la base de contrôles de départ avec D2009. Vous devriez être en mesure de créer un nouveau descendant et mettre en œuvre les changements dans les il y au lieu de modifier la valeur par défaut src fichiers directement.

  1. Transparent D'Accueil Pour Les Formes

    Par défaut (pré-2009 de la NVCLD ne prend pas en charge la transparence de la forme du mouvement. Il y avait un JVCL patch publié un couple d'années en arrière, qui a ajouté que le soutien à la JVCL qui était simple à intégrer dans un NVLCD patch.

  2. D'Accueil Du Gestionnaire De

    La valeur par défaut d'accueil du gestionnaire (avant 2009 pour être sûr) ne permet pas de nouvelle/bouton personnalisé images ou d'accueil en-tête de changements. Cela a été rectifié dans la D2009 je crois que quand la nécessaire par des méthodes virtuelles.

  3. Onglets D'Accueil

    À l'appui de la Supplémentaires d'accueil pour les composants j'ai dû modifier le DockTabSet.pas de fichier de soutien supplémentaires d'accueil pour les propriétés utilisées par les composants supplémentaires. La plupart de ce qui a été corrigé lors de l'Accueil du Gestionnaire a été modifié comme le mentionne précédemment.

Comme je l'ai dit, la plupart de ces changements que j'ai faits directement à l'Delphi Src fichiers et vous ne devriez pas en avoir besoin pour les nouvelles versions de Delphi. Mon point est que, avec un peu de travail à l'avant, vous pouvez avoir une assez robuste système d'arrimage avec le recours à l'aide d'un 3ème partie de la bibliothèque. Il n'y a rien de mal avec eux, mais je préfère ne pas les utiliser à moins que je n'ai pas d'autres choix ou n'avez pas le temps pour le faire fonctionner sur mon chemin.

2voto

buttercup Points 584

J'ai utilisé JCL, j'ai LMD, DevExpress et une bibliothèque d'accueil automatisée.

Le plus proche que vous trouverez qui répondra à vos besoins est la bibliothèque d'ancrage AutomatedQA. Je l'utilise dans mon travail pour l'un de mes projets.

Votre prochaine étape, achetez la bibliothèque AutomatedQA :)

d'un client heureux.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X