{"id":995,"date":"2012-11-16T16:21:25","date_gmt":"2012-11-16T15:21:25","guid":{"rendered":"http:\/\/blog.m-ri.de\/?p=995"},"modified":"2014-01-29T11:41:14","modified_gmt":"2014-01-29T10:41:14","slug":"strgv-und-umschalteinfg-macht-doch-eigentlich-das-selbe-oder-etwa-nicht","status":"publish","type":"post","link":"http:\/\/blog.m-ri.de\/index.php\/2012\/11\/16\/strgv-und-umschalteinfg-macht-doch-eigentlich-das-selbe-oder-etwa-nicht\/","title":{"rendered":"Strg+V und Umschalt+Einfg macht doch eigentlich das selbe&#8230; oder etwa nicht?"},"content":{"rendered":"<p>Ja! Das k\u00f6nnte man denken. <em>Strg+V<\/em> sowie <em>Umschalt+Einfg<\/em> sind Shortcuts um etwas aus der Zwischenablage einzuf\u00fcgen.<br \/>\nMan k\u00f6nnte weiterhin davon ausgehen, dass Windows in einem Edit-Control beide gleich behandelt. D.h. benutzt der Anwender <em>Strg+V<\/em> oder <em>Umschalt+Einfg<\/em> oder das\u00a0\u00a0im Edit-Control, dann wird immer der selbe Vorgang ausgel\u00f6st.<\/p>\n<p>Sch\u00f6n w\u00e4re es ja \ud83d\ude41 &#8230;<\/p>\n<p>Sowohl bei <em>Strg+V<\/em>, wie auch bei <em>Umschalt+Einfg<\/em> und \u00fcber das Kontextmen\u00fc wird <em>WM_PASTE<\/em> an das Edit-Control gesendet. Sch\u00f6n!<\/p>\n<p>Aber hat das Edit-Control den Stil <em>ES_READONLY<\/em> &#8211; ist also als nur lesend definiert -, dann wird bei Eingabe von <em>Strg+V<\/em> die Nachricht <em>WM_PASTE<\/em> nicht gesendet. Auch das Kontextmen\u00fc blendet den Men\u00fcpunkt Einf\u00fcgen brav aus. Auch das ist gut so und wie erwartet.<\/p>\n<p>Aber was passiert bei <em>Umschalt+Einfg<\/em>?<br \/>\nJa. Das unerwartete passiert und in diesem Fall wird doch <em>WM_PASTE<\/em> gesendet&#8230;<\/p>\n<p>Herausgekommen ist das als Bug in unserer Software bei einer speziellen Edit-Control Klasse, die auch bestimmte andere Datenformate aus der Zwischenablage verstehen soll. Ein Kunde stellte letzten Endes fest, dass er \u00fcber Umschalt+Einfg weiterhin auch in ein Readonly-Control Daten einf\u00fcgen kann.<\/p>\n<p>Ich war ziemlich \u00fcberrascht als ich dieses &#8222;unlogische&#8220; Verhalten im Testfeld nachvollziehen konnte.<br \/>\nWer h\u00e4tte es gedacht? Ich nicht&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ja! Das k\u00f6nnte man denken. Strg+V sowie Umschalt+Einfg sind Shortcuts um etwas aus der Zwischenablage einzuf\u00fcgen. Man k\u00f6nnte weiterhin davon ausgehen, dass Windows in einem Edit-Control beide gleich behandelt. D.h. benutzt der Anwender Strg+V oder Umschalt+Einfg oder das\u00a0\u00a0im Edit-Control, dann wird immer der selbe Vorgang ausgel\u00f6st. Sch\u00f6n w\u00e4re es ja \ud83d\ude41 &#8230; Sowohl bei Strg+V, &hellip; <a href=\"http:\/\/blog.m-ri.de\/index.php\/2012\/11\/16\/strgv-und-umschalteinfg-macht-doch-eigentlich-das-selbe-oder-etwa-nicht\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eStrg+V und Umschalt+Einfg macht doch eigentlich das selbe&#8230; oder etwa nicht?\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[30,3,2],"tags":[136,61,89],"class_list":["post-995","post","type-post","status-publish","format-standard","hentry","category-c","category-programmieren","category-windows-api","tag-qualitaetssicherung","tag-winapi","tag-windows"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/995","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/comments?post=995"}],"version-history":[{"count":0,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/995\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/media?parent=995"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/categories?post=995"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/tags?post=995"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}