{"id":4699,"date":"2012-10-18T18:00:27","date_gmt":"2012-10-18T16:00:27","guid":{"rendered":"http:\/\/blogs.wittwer.fr\/whiler\/?p=4699"},"modified":"2012-10-20T02:39:30","modified_gmt":"2012-10-20T00:39:30","slug":"fmx-enabledraghighlight","status":"publish","type":"post","link":"https:\/\/blogs.wittwer.fr\/whiler\/2012\/10\/18\/fmx-enabledraghighlight\/","title":{"rendered":"FMX &#038; EnableDragHighlight"},"content":{"rendered":"<p>Par d\u00e9faut, FireMonkey a une propri\u00e9t\u00e9 activ\u00e9e qui s&rsquo;appelle <code class=\"codecolorer delphi dawn\"><span class=\"delphi\">EnableDragHighlight<\/span><\/code>.<\/p>\n<p>Cette propri\u00e9t\u00e9 permet d&rsquo;entourer par d\u00e9faut le composant o\u00f9 elle est activ\u00e9e par un carr\u00e9 bleu lorsqu&rsquo;un \u00e9l\u00e9ment est glisser au-dessus de lui&nbsp;:<\/p>\n<div id=\"attachment_4700\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"\/whiler\/wp-content\/uploads\/2012\/10\/enabledraghighlight.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4700\" src=\"\/whiler\/wp-content\/uploads\/2012\/10\/enabledraghighlight-300x247.png\" alt=\"carr\u00e9 bleu : EnableDragHighlight\" title=\"carr\u00e9 bleu : EnableDragHighlight\" width=\"300\" height=\"247\" class=\"size-medium wp-image-4700\" srcset=\"https:\/\/blogs.wittwer.fr\/whiler\/wp-content\/uploads\/2012\/10\/enabledraghighlight-300x247.png 300w, https:\/\/blogs.wittwer.fr\/whiler\/wp-content\/uploads\/2012\/10\/enabledraghighlight.png 593w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-4700\" class=\"wp-caption-text\">carr\u00e9 bleu : EnableDragHighlight<\/p><\/div>\n<p>Cela peut s&rsquo;av\u00e9rer tr\u00e8s pratique&#8230; n\u00e9anmoins, par d\u00e9faut sur tous les composants, c&rsquo;est rarement utile <img src=\"https:\/\/blogs.wittwer.fr\/whiler\/wp-includes\/images\/smilies\/skype\/\/mmm.gif\" alt=\"(mm)\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/> <\/p>\n<p>Afin d&rsquo;\u00e9viter d&rsquo;avoir \u00e0 modifier la propri\u00e9t\u00e9 sur chacun de mes composants de mes fen\u00eatres et styles, j&rsquo;ai rapidement \u00e9crit ce bout de code&nbsp;:<br \/>\n<!--more--><\/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 \/><\/div><\/td><td><div class=\"delphi codecolorer\"><span class=\"kw1\">unit<\/span> uFMX<span class=\"sy1\">;<\/span><br \/>\n<br \/>\n<span class=\"kw1\">interface<\/span><br \/>\n<br \/>\n<span class=\"kw1\">uses<\/span><br \/>\n&nbsp; FMX<span class=\"sy1\">.<\/span><span class=\"me1\">Types<\/span><span class=\"sy1\">,<\/span> System<span class=\"sy1\">.<\/span><span class=\"me1\">TypInfo<\/span><span class=\"sy1\">;<\/span><br \/>\n<br \/>\n<span class=\"kw1\">procedure<\/span> SetDragHighlights<span class=\"br0\">&#40;<\/span><span class=\"kw1\">const<\/span> parent<span class=\"sy1\">:<\/span> TFmxObject<span class=\"sy1\">;<\/span> <span class=\"kw1\">const<\/span> enabled<span class=\"sy1\">:<\/span> <span class=\"kw4\">Boolean<\/span> <span class=\"sy3\">=<\/span> <span class=\"kw2\">False<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy1\">;<\/span> <span class=\"kw1\">overload<\/span><span class=\"sy1\">;<\/span><br \/>\n<br \/>\n<span class=\"kw1\">implementation<\/span><br \/>\n<br \/>\n<span class=\"kw1\">procedure<\/span> SetDragHighlights<span class=\"br0\">&#40;<\/span><span class=\"kw1\">const<\/span> parent<span class=\"sy1\">:<\/span> TFmxObject<span class=\"sy1\">;<\/span> <span class=\"kw1\">const<\/span> enabled<span class=\"sy1\">:<\/span> <span class=\"kw4\">Boolean<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy1\">;<\/span> <span class=\"kw1\">overload<\/span><span class=\"sy1\">;<\/span><br \/>\n<span class=\"kw1\">var<\/span><br \/>\n&nbsp; iLoop<span class=\"sy1\">,<\/span> iMax<span class=\"sy1\">:<\/span> <span class=\"kw4\">Integer<\/span><span class=\"sy1\">;<\/span><br \/>\n<span class=\"kw1\">begin<\/span><br \/>\n&nbsp; <span class=\"co1\">\/\/ Do &quot;parent&quot; have this property?<\/span><br \/>\n&nbsp; <span class=\"kw1\">if<\/span> IsPublishedProp<span class=\"br0\">&#40;<\/span>parent<span class=\"sy1\">,<\/span> <span class=\"st0\">'EnableDragHighlight'<\/span><span class=\"br0\">&#41;<\/span> <span class=\"kw1\">then<\/span><br \/>\n&nbsp; <span class=\"kw1\">begin<\/span><br \/>\n&nbsp; &nbsp; SetPropValue<span class=\"br0\">&#40;<\/span>parent<span class=\"sy1\">,<\/span> <span class=\"st0\">'EnableDragHighlight'<\/span><span class=\"sy1\">,<\/span> enabled<span class=\"br0\">&#41;<\/span><span class=\"sy1\">;<\/span><br \/>\n&nbsp; <span class=\"kw1\">end<\/span><span class=\"sy1\">;<\/span><br \/>\n<br \/>\n&nbsp; <span class=\"co1\">\/\/ Do &quot;parent&quot;'s children have it?<\/span><br \/>\n&nbsp; iMax <span class=\"sy1\">:<\/span><span class=\"sy3\">=<\/span> <span class=\"kw3\">Pred<\/span><span class=\"br0\">&#40;<\/span>parent<span class=\"sy1\">.<\/span><span class=\"me1\">ChildrenCount<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy1\">;<\/span><br \/>\n&nbsp; <span class=\"kw1\">for<\/span> iLoop <span class=\"sy1\">:<\/span><span class=\"sy3\">=<\/span> <span class=\"nu0\">0<\/span> <span class=\"kw1\">to<\/span> iMax <span class=\"kw1\">do<\/span><br \/>\n&nbsp; <span class=\"kw1\">begin<\/span><br \/>\n&nbsp; &nbsp; SetDragHighlights<span class=\"br0\">&#40;<\/span>parent<span class=\"sy1\">.<\/span><span class=\"me1\">Children<\/span><span class=\"br0\">&#91;<\/span>iLoop<span class=\"br0\">&#93;<\/span><span class=\"sy1\">,<\/span> enabled<span class=\"br0\">&#41;<\/span><span class=\"sy1\">;<\/span><br \/>\n&nbsp; <span class=\"kw1\">end<\/span><span class=\"sy1\">;<\/span><br \/>\n<span class=\"kw1\">end<\/span><span class=\"sy1\">;<\/span><br \/>\n<br \/>\n<span class=\"kw1\">end<\/span><span class=\"sy1\">.<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>Je l&rsquo;appelle \u00e0 la cr\u00e9ation d&rsquo;une fen\u00eatre et lorsqu&rsquo;un style est appliqu\u00e9 ainsi&nbsp;:<br \/>\n<center><code class=\"codecolorer delphi dawn\"><span class=\"delphi\">SetDragHighlights<span class=\"br0\">&#40;<\/span><span class=\"kw2\">Self<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy1\">;<\/span><\/span><\/code><\/center><\/p>\n<div class=\"thanks_button_div\" \n                  style=\"float: right; margin-right: 10px; margin-top:10px;\"><div id=\"thanksButtonDiv_4699_1\" style=\"background-image:url(https:\/\/blogs.wittwer.fr\/whiler\/wp-content\/plugins\/thanks-you-counter-button\/images\/thanks_compact_brown1.png); background-repeat:no-repeat; float: left; display: inline;\"\n                onmouseover=\"javascript:thankYouChangeButtonImage('thanksButtonDiv_4699_1', true);\" \n                onmouseout=\"javascript:thankYouChangeButtonImage('thanksButtonDiv_4699_1', false);\"\n                onclick=\"javascript:thankYouChangeButtonImage('thanksButtonDiv_4699_1', false);\" >\n                <input type=\"button\" onclick=\"thankYouButtonClick(4699, 'You left &ldquo;Thanks&rdquo; already for this post')\" value=\"Merci\u00a0 0\"\n                  class=\"thanks_button thanks_compact thanks_brown1\"\n                  style=\"  font-family: Verdana, Arial, Sans-Serif; font-size: 14px; font-weight: normal;; color:#00f;\"\n                  id=\"thanksButton_4699_1\" title=\"Click to leave &ldquo;Thanks&rdquo; for this post\"\/>\n             <\/div><div id=\"ajax_loader_4699_1\" style=\"display:inline;visibility: hidden;\"><img decoding=\"async\" alt=\"ajax loader\" src=\"https:\/\/blogs.wittwer.fr\/whiler\/wp-content\/plugins\/thanks-you-counter-button\/images\/ajax-loader.gif\" \/><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Par d\u00e9faut, FireMonkey a une propri\u00e9t\u00e9 activ\u00e9e qui s&rsquo;appelle EnableDragHighlight. Cette propri\u00e9t\u00e9 permet d&rsquo;entourer par d\u00e9faut le composant o\u00f9 elle est activ\u00e9e par un carr\u00e9 bleu lorsqu&rsquo;un \u00e9l\u00e9ment est glisser au-dessus de lui&nbsp;: Cela peut s&rsquo;av\u00e9rer tr\u00e8s pratique&#8230; n\u00e9anmoins, par d\u00e9faut sur tous les composants, c&rsquo;est rarement utile Afin d&rsquo;\u00e9viter d&rsquo;avoir \u00e0 modifier la propri\u00e9t\u00e9 [&hellip;]<\/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],"tags":[27,154,146],"class_list":["post-4699","post","type-post","status-publish","format-standard","hentry","category-delphi","tag-coloration-syntaxique","tag-delphi","tag-firemonkey"],"_links":{"self":[{"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/posts\/4699","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=4699"}],"version-history":[{"count":0,"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/posts\/4699\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/media?parent=4699"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/categories?post=4699"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/tags?post=4699"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}