La meilleure façon de créer une icône de composant dans Delphi XE en utilisant seulement les outils intégrés

dans Delphi 7, un programme d'éditeur d'image est inclus, qui peut lire et écrire .dcr fichiers, qui sont simplement des fichiers de ressources binaires ( .res fichiers) avec une extension différente, qui par convention indique que le .le fichier dcr contient une ressource compilée avec des ressources bitmap nommées qui ont des noms correspondant à vos noms de composants (une ressource bitmap nommée TMYCOMPONENT pour un composant nommé TMyComponent). Ces images sont où les "icônes" utilisé pour mettre une icône sur la palette de composants delphi, et sur votre formulaire ou module de données lorsque vous déposez un composant non-visuel, viennent de.

avance rapide 10 ans à Delphi XE, et j'essaie de faire des icônes de composants en utilisant un fichier bitmap, et un fichier RC, et avoir cette construction à un .Dossier DCR, dans le cadre de la Delphi IDE.

il devrait s'agir simplement d'ajouter un .Fichier Rc et une déclaration de ce genre .dpk (paquet source) fichier, comme ceci:

{$R mypackageicons.rc mypackageicons.dcr}

un échantillon .fichier rc contenant une icône de Composant:

 // COMPONENT ICON RESOURCES
 TMYCOMPONENT BMP "TMYCOMPONENT.BMP"

cependant je ne peux pas obtenir cela à travailler. Il semble que vous ayez des erreurs rlink32 bizarres, et que IDE s'écrase à borlandmm.dll, quand je l'essaie:

[DCC Error] E2161 Error: RLINK32: Unsupported 16bit resource in file "C:tempcompiconCOMPONENTICONS.rc"
[DCC Fatal Error] F2084 Internal Error: AV21515155-W06000D07-1

le fichier bitmap en question est un simple fichier 256 couleurs BMP de 24x24 pixels, et j'ai aussi essayé 16 couleurs bitmaps, sans succès. Il me semble que le programme Imageeedit est le seul moyen que je connaisse utilisez pour créer des icônes Delphi component.

Qu'est-ce que je rate?

Update: les outils externes sont une bonne solution pour les personnes qui n'ont pas accès à L'éditeur D'image Delphi 7, et peut-être en fait supérieur, mais je préférerais le faire en utilisant seulement ce qui est livré avec Delphi, parce qu'il semble que cela devrait être possible en utilisant seulement une déclaration {$r}, un fichier texte, et un fichier bmp fait avec pinceau. Sûrement, ils n'a pas omis de faire un moyen de faire des icônes de composants,avec ce grand outil de développement de 1,5 gigaoctet! .. update2: il y a un chemin; Rudy V. trouvé.

21
demandé sur Warren P 2011-08-09 21:00:39

4 réponses

j'ai utilisé et eu un grand succès avec:

mise à Jour

je viens d'essayer ce qui suit, dans XE, et a réussi.

  • j'ai créé un nouveau composant, TNewAnimate , dans NewAnimates.pas .
  • j'ai ajouté TNewAnimate.pas à dclusr.dpk .
  • j'ai ajouté un bitmap (appelé TMRUComboBox.bmp , je viens d'avoir cela autour de toute façon) en utilisant le projet → Ressources et Images... dans la boîte de dialogue .dpk et lui a donné le nom TNEWANIMATE .
  • I dclusr.dpk .

Le fichier source pour dclusr.pdk a obtenu une nouvelle entrée {$R *.dres} (noter l'extension). Je pouvais voir le TNewAnimate dans la palette Samples avec le glyphe dans TMRUComboBox.bmp .

je trouve dclusr.dres dans le même répertoire que dclusr.dpk (qui est normalement sous C:\Program fichiers , mais pas dans mon setup). J'ai essayé de l'ouvrir avec xn Resource Editor, mais cela a refusé de l'ouvrir avec un message d'erreur cryptique. Ce n'est pas un normal .res fichier, il semble.

enter image description here

22
répondu Rudy Velthuis 2017-05-12 19:36:08

Essayer Éditeur De Ressources . Un bon remplacement pour L'ancien éditeur D'Image.

6
répondu kludg 2011-08-09 17:13:18

ajouter D'abord " mypackageicons.si l'on tient compte du dossier du projet, cela donne des raisons de penser.res' au moment de la compilation (voir SI réponse à la question "y Compris le fichier de ressources dans un projet .Dossier RC plutôt que .RES file").

comprennent Également des {$R mypackageicons.res mypackageicons.dcr} à la composante de l'unité (ou à l' .dpk). Ce n'est pas de produire un".fichier dcr', mais définit l'icône du composant.



notez que mon test avec une ressource " BMP " échoué. J'ai utilisé 'BITMAP' comme type de ressource.

3
répondu Sertac Akyuz 2017-05-23 12:34:27

j'ai étudié les réponses précédentes en utilisant Delphi XE5 upd2. Pas beaucoup de succès. J'ai donc essayé de construire une nouvelle solution et j'en ai trouvé une dérivée des réponses précédentes.

en bref: 1. Créez votre image bitmap en utilisant Windows Paint program. 2. Créez un fichier script de ressource avec le bitmap. 3. Compiler le script avec BRCC32 pour produire le fichier dcr 4. Inclure le fichier dcr dans le paquet source 5. Recompiler / installer le paquet

pour automatiser cela suffit pour ajouter la ligne de commande BRCC32 dans le projet package "pre-build events". De cette façon, votre fichier dcr sera recréé avant chaque Compilation.

pour une description détaillée, Voir mon blog à http://francois-piette.blogspot.be/2014/02/howto-create-dcr-file-for-your-delphi.html

3
répondu fpiette 2014-02-22 09:06:40