{"id":2428,"date":"2011-06-26T08:00:06","date_gmt":"2011-06-26T06:00:06","guid":{"rendered":"http:\/\/blogs.wittwer.fr\/whiler\/?p=2428"},"modified":"2012-03-03T15:56:16","modified_gmt":"2012-03-03T14:56:16","slug":"visualiseur-icones","status":"publish","type":"post","link":"https:\/\/blogs.wittwer.fr\/whiler\/2011\/06\/26\/visualiseur-icones\/","title":{"rendered":"Visualiseur d\u2019ic\u00f4nes"},"content":{"rendered":"<p>En continuant de jouer avec <a href=\"\/whiler\/2011\/06\/23\/delphi-taskbar-windows-7\/\">les t\u00e2ches de Windows 7<\/a>, voulant impl\u00e9menter du code pour cr\u00e9er une t\u00e2che sur le menu contextuel d&rsquo;une de mes applications, comme l&rsquo;a expliqu\u00e9 <a target=\"_blank\" href=\"https:\/\/www.developpez.net\/forums\/u65297\/franck-soriano\/\">Franck<\/a> dans son article \u00ab\u00a0<a target=\"_blank\" href=\"https:\/\/fsoriano.developpez.com\/articles\/windows7\/delphi\/utilisez-barre-taches-windows-7-dans-vos-applications-delphi-2010\/#LII-B-3\">Utilisez la barre des t\u00e2ches Windows 7 dans vos applications Delphi 2010<\/a>\u00ab\u00a0, j&rsquo;ai eu besoin d&rsquo;utiliser des ic\u00f4nes externes \u00e0 mon application.<\/p>\n<p>Pour cela, je me suis tr\u00e8s rapidement cr\u00e9\u00e9 une nouvelle application qui ne sert qu&rsquo;\u00e0 afficher les ic\u00f4nes d&rsquo;une ressource avec leur index.<br \/>\n<div id=\"attachment_2429\" style=\"width: 280px\" class=\"wp-caption aligncenter\"><a href=\"\/whiler\/wp-content\/uploads\/2011\/06\/wicon.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2429\" src=\"\/whiler\/wp-content\/uploads\/2011\/06\/wicon-270x300.jpg\" alt=\"wIcons\" title=\"wIcons\" width=\"270\" height=\"300\" class=\"size-medium wp-image-2429\" srcset=\"https:\/\/blogs.wittwer.fr\/whiler\/wp-content\/uploads\/2011\/06\/wicon-270x300.jpg 270w, https:\/\/blogs.wittwer.fr\/whiler\/wp-content\/uploads\/2011\/06\/wicon.jpg 441w\" sizes=\"auto, (max-width: 270px) 100vw, 270px\" \/><\/a><p id=\"caption-attachment-2429\" class=\"wp-caption-text\">wIcons<\/p><\/div><br \/>\n&nbsp;<br \/>\nSi vous le souhaitez, vous pouvez t\u00e9l\u00e9charger l&rsquo;application depuis <a href=\"https:\/\/www.whiler.com\/freewares\/download?wicons.exe\">ce lien<\/a>.<\/p>\n<p>Sur la <a href=\"\/whiler\/2011\/06\/26\/visualiseur-icones\/2\/\">seconde page<\/a>, le code utilis\u00e9 pour r\u00e9cup\u00e9rer une ic\u00f4ne&#8230;<br \/>\n<!--nextpage--><\/p>\n<div class=\"codecolorer-container delphi dawn\" style=\"overflow:auto;white-space:nowrap;width:480px;height:300px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/>11<br \/>12<br \/>13<br \/>14<br \/>15<br \/>16<br \/>17<br \/>18<br \/>19<br \/>20<br \/>21<br \/>22<br \/>23<br \/>24<br \/>25<br \/>26<br \/>27<br \/>28<br \/>29<br \/>30<br \/>31<br \/>32<br \/>33<br \/>34<br \/>35<br \/>36<br \/>37<br \/>38<br \/>39<br \/><\/div><\/td><td><div class=\"delphi codecolorer\"><span class=\"kw1\">procedure<\/span> TfrmMain<span class=\"sy1\">.<\/span><span class=\"me1\">AddIcon<\/span><span class=\"br0\">&#40;<\/span>iIndex<span class=\"sy1\">:<\/span> <span class=\"kw4\">Integer<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy1\">;<\/span><br \/>\n<span class=\"kw1\">var<\/span><br \/>\n&nbsp; gbOne <span class=\"sy1\">:<\/span> TGroupBox<span class=\"sy1\">;<\/span><br \/>\n&nbsp; imgOne<span class=\"sy1\">:<\/span> TImage<span class=\"sy1\">;<\/span><br \/>\n&nbsp; icOne <span class=\"sy1\">:<\/span> TIcon<span class=\"sy1\">;<\/span><br \/>\n<span class=\"kw1\">begin<\/span><br \/>\n&nbsp; icOne <span class=\"sy1\">:<\/span><span class=\"sy3\">=<\/span> TIcon<span class=\"sy1\">.<\/span><span class=\"me1\">Create<\/span><span class=\"sy1\">;<\/span><br \/>\n&nbsp; <span class=\"kw1\">try<\/span><br \/>\n&nbsp; &nbsp; icOne<span class=\"sy1\">.<\/span><span class=\"me1\">Handle<\/span> <span class=\"sy1\">:<\/span><span class=\"sy3\">=<\/span> ExtractIcon<span class=\"br0\">&#40;<\/span>Handle<span class=\"sy1\">,<\/span> <span class=\"kw4\">PWideChar<\/span><span class=\"br0\">&#40;<\/span>btnedFile<span class=\"sy1\">.<\/span><span class=\"me1\">Text<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy1\">,<\/span> iIndex<span class=\"br0\">&#41;<\/span><span class=\"sy1\">;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; gbOne &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy1\">:<\/span><span class=\"sy3\">=<\/span> TGroupBox<span class=\"sy1\">.<\/span><span class=\"me1\">Create<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw2\">Self<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy1\">;<\/span><br \/>\n&nbsp; &nbsp; gbOne<span class=\"sy1\">.<\/span><span class=\"me1\">Caption<\/span> &nbsp; &nbsp; &nbsp;<span class=\"sy1\">:<\/span><span class=\"sy3\">=<\/span> <span class=\"kw3\">IntToStr<\/span><span class=\"br0\">&#40;<\/span>iIndex<span class=\"br0\">&#41;<\/span><span class=\"sy1\">;<\/span><br \/>\n&nbsp; &nbsp; gbOne<span class=\"sy1\">.<\/span><span class=\"me1\">Width<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy1\">:<\/span><span class=\"sy3\">=<\/span> <span class=\"nu0\">38<\/span><span class=\"sy1\">;<\/span><br \/>\n&nbsp; &nbsp; gbOne<span class=\"sy1\">.<\/span><span class=\"me1\">Height<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy1\">:<\/span><span class=\"sy3\">=<\/span> <span class=\"nu0\">48<\/span><span class=\"sy1\">;<\/span><br \/>\n&nbsp; &nbsp; gbOne<span class=\"sy1\">.<\/span><span class=\"me1\">OnClick<\/span> &nbsp; &nbsp; &nbsp;<span class=\"sy1\">:<\/span><span class=\"sy3\">=<\/span> IconClick<span class=\"sy1\">;<\/span><br \/>\n&nbsp; &nbsp; gbOne<span class=\"sy1\">.<\/span><span class=\"me1\">Cursor<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy1\">:<\/span><span class=\"sy3\">=<\/span> crHandPoint<span class=\"sy1\">;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; imgOne &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy1\">:<\/span><span class=\"sy3\">=<\/span> TImage<span class=\"sy1\">.<\/span><span class=\"me1\">Create<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw2\">Self<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy1\">;<\/span><br \/>\n&nbsp; &nbsp; imgOne<span class=\"sy1\">.<\/span><span class=\"me1\">Width<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy1\">:<\/span><span class=\"sy3\">=<\/span> <span class=\"nu0\">32<\/span><span class=\"sy1\">;<\/span><br \/>\n&nbsp; &nbsp; imgOne<span class=\"sy1\">.<\/span><span class=\"me1\">Height<\/span> &nbsp; &nbsp; &nbsp;<span class=\"sy1\">:<\/span><span class=\"sy3\">=<\/span> <span class=\"nu0\">32<\/span><span class=\"sy1\">;<\/span><br \/>\n&nbsp; &nbsp; imgOne<span class=\"sy1\">.<\/span><span class=\"me1\">Top<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy1\">:<\/span><span class=\"sy3\">=<\/span> <span class=\"nu0\">12<\/span><span class=\"sy1\">;<\/span><br \/>\n&nbsp; &nbsp; imgOne<span class=\"sy1\">.<\/span><span class=\"me1\">Left<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy1\">:<\/span><span class=\"sy3\">=<\/span> <span class=\"nu0\">3<\/span><span class=\"sy1\">;<\/span><br \/>\n&nbsp; &nbsp; imgOne<span class=\"sy1\">.<\/span><span class=\"me1\">Transparent<\/span> <span class=\"sy1\">:<\/span><span class=\"sy3\">=<\/span> <span class=\"kw2\">True<\/span><span class=\"sy1\">;<\/span><br \/>\n&nbsp; &nbsp; imgOne<span class=\"sy1\">.<\/span><span class=\"me1\">OnClick<\/span> &nbsp; &nbsp; <span class=\"sy1\">:<\/span><span class=\"sy3\">=<\/span> IconClick<span class=\"sy1\">;<\/span><br \/>\n&nbsp; &nbsp; imgOne<span class=\"sy1\">.<\/span><span class=\"me1\">Parent<\/span> &nbsp; &nbsp; &nbsp;<span class=\"sy1\">:<\/span><span class=\"sy3\">=<\/span> gbOne<span class=\"sy1\">;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; gbOne<span class=\"sy1\">.<\/span><span class=\"me1\">Parent<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy1\">:<\/span><span class=\"sy3\">=<\/span> flwpnlIcons<span class=\"sy1\">;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; imgOne<span class=\"sy1\">.<\/span><span class=\"me1\">Canvas<\/span><span class=\"sy1\">.<\/span><span class=\"me1\">FillRect<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw3\">rect<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"sy1\">,<\/span> <span class=\"nu0\">0<\/span><span class=\"sy1\">,<\/span> <span class=\"nu0\">32<\/span><span class=\"sy1\">,<\/span> <span class=\"nu0\">32<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy1\">;<\/span><br \/>\n&nbsp; &nbsp; DrawIcon<span class=\"br0\">&#40;<\/span>imgOne<span class=\"sy1\">.<\/span><span class=\"me1\">Canvas<\/span><span class=\"sy1\">.<\/span><span class=\"me1\">Handle<\/span><span class=\"sy1\">,<\/span> <span class=\"nu0\">0<\/span><span class=\"sy1\">,<\/span> <span class=\"nu0\">0<\/span><span class=\"sy1\">,<\/span> icOne<span class=\"sy1\">.<\/span><span class=\"me1\">Handle<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy1\">;<\/span><br \/>\n<br \/>\n&nbsp; <span class=\"kw1\">except<\/span> <span class=\"kw1\">on<\/span> E<span class=\"sy1\">:<\/span> Exception <span class=\"kw1\">do<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">begin<\/span><br \/>\n&nbsp; &nbsp; &nbsp; MessageDlg<span class=\"br0\">&#40;<\/span><span class=\"st0\">'Une erreur s'<\/span><span class=\"st0\">'est produite :'<\/span> <span class=\"sy3\">+<\/span> <span class=\"re1\">#13<\/span><span class=\"re1\">#10<\/span><span class=\"re1\">#13<\/span><span class=\"re1\">#10<\/span> <span class=\"sy3\">+<\/span> e<span class=\"sy1\">.<\/span><span class=\"kw1\">Message<\/span><span class=\"sy1\">,<\/span> mtWarning<span class=\"sy1\">,<\/span> <span class=\"br0\">&#91;<\/span>mbOK<span class=\"br0\">&#93;<\/span><span class=\"sy1\">,<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy1\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; Exit<span class=\"sy1\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">end<\/span><span class=\"sy1\">;<\/span><br \/>\n&nbsp; <span class=\"kw1\">end<\/span><span class=\"sy1\">;<\/span><br \/>\n&nbsp; icOne<span class=\"sy1\">.<\/span><span class=\"me1\">Free<\/span><span class=\"sy1\">;<\/span><br \/>\n<span class=\"kw1\">end<\/span><span class=\"sy1\">;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p><center><a href=\"\/whiler\/category\/computer\/delphi\/\" title=\"Articles concernant Delphi\"><img loading=\"lazy\" decoding=\"async\" src=\"\/whiler\/wp-content\/uploads\/2009\/10\/built_with_delphi.png\" alt=\"D\u00e9velopp\u00e9 en Delphi\" title=\"D\u00e9velopp\u00e9 en Delphi\" width=\"125\" height=\"51\" class=\"size-full wp-image-2721\" \/><\/a><\/center><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En continuant de jouer avec les t\u00e2ches de Windows 7, voulant impl\u00e9menter du code pour cr\u00e9er une t\u00e2che sur le menu contextuel d\u2019une de mes applications, j\u2019ai eu besoin d\u2019utiliser des ic\u00f4nes externes \u00e0 mon application.<\/p>\n<p>Pour cela, je me suis tr\u00e8s rapidement cr\u00e9\u00e9 une nouvelle application qui ne sert qu\u2019\u00e0 afficher les ic\u00f4nes d\u2019une ressource avec leur index&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[7,6],"tags":[27,154,93,151],"class_list":["post-2428","post","type-post","status-publish","format-standard","hentry","category-delphi","category-dev","tag-coloration-syntaxique","tag-delphi","tag-freeware","tag-windows-7"],"_links":{"self":[{"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/posts\/2428","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/comments?post=2428"}],"version-history":[{"count":0,"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/posts\/2428\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/media?parent=2428"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/categories?post=2428"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/tags?post=2428"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}