<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[TVN_BEGINDRAG und Windows Vista]]></title><description><![CDATA[<p>Hi,</p>
<p>ich stelle fest, daß mein TreeView Drag&amp;Drop unter Windows Vista nicht korrekt funktioniert.</p>
<p>Wenn man ein TreeView-Element selektiert hat, dann verschiebt man dieses Element mit gedrückter linker Maustaste an eine andere Stelle im TreeView.<br />
Während dieses Draggen werden von dem ausgewählten Element sowohl das Icon als auch der Text heller (etwas grauer) dargestellt und mit dem Mauszeiger zusammen bewegt.<br />
Dies funktioniert von WinNT 3.51 über Win2000 und WinXP bis WinServer2003 und auch Win95/98/Me einwandfrei.</p>
<p>Unter Windows Vista wird jedoch nur noch das etwas aufgehellte Icon dargestellt, der Text selbst ist beim Draggen unsichtbar! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
<p>Kommt auch Euch dieses Phänomen bekannt vor?<br />
Ist das vielleicht ein Feature von Windows Vista oder hat meine Applikation einen Bug? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Hier die Stichworte wie mein TreeView Dragging im Prinzip abläuft:</p>
<pre><code>Nachricht:                  Wichtigste Funktionsaurufe:

WM_NOTIFY -&gt; TVN_BEGINDRAG: TreeView_SelectItem()
                            TreeView_EnsureVisible()
                            TreeView_CreateDragImage()
                            ImageList_BeginDrag()
                            ImageList_DragEnter()
                            SetCapture()

WM_MOUSEMOVE: ImageList_DragMove()
              ImageList_DragShowNolock()

WM_LBUTTONUP: ImageList_EndDrag()
              ImageList_Destroy()
              ReleaseCapture()
</code></pre>
<p>Hoffe auf Euren Tipp,<br />
Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/214535/tvn_begindrag-und-windows-vista</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 07:46:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/214535.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 30 May 2008 13:23:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to TVN_BEGINDRAG und Windows Vista on Fri, 30 May 2008 13:23:36 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich stelle fest, daß mein TreeView Drag&amp;Drop unter Windows Vista nicht korrekt funktioniert.</p>
<p>Wenn man ein TreeView-Element selektiert hat, dann verschiebt man dieses Element mit gedrückter linker Maustaste an eine andere Stelle im TreeView.<br />
Während dieses Draggen werden von dem ausgewählten Element sowohl das Icon als auch der Text heller (etwas grauer) dargestellt und mit dem Mauszeiger zusammen bewegt.<br />
Dies funktioniert von WinNT 3.51 über Win2000 und WinXP bis WinServer2003 und auch Win95/98/Me einwandfrei.</p>
<p>Unter Windows Vista wird jedoch nur noch das etwas aufgehellte Icon dargestellt, der Text selbst ist beim Draggen unsichtbar! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
<p>Kommt auch Euch dieses Phänomen bekannt vor?<br />
Ist das vielleicht ein Feature von Windows Vista oder hat meine Applikation einen Bug? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Hier die Stichworte wie mein TreeView Dragging im Prinzip abläuft:</p>
<pre><code>Nachricht:                  Wichtigste Funktionsaurufe:

WM_NOTIFY -&gt; TVN_BEGINDRAG: TreeView_SelectItem()
                            TreeView_EnsureVisible()
                            TreeView_CreateDragImage()
                            ImageList_BeginDrag()
                            ImageList_DragEnter()
                            SetCapture()

WM_MOUSEMOVE: ImageList_DragMove()
              ImageList_DragShowNolock()

WM_LBUTTONUP: ImageList_EndDrag()
              ImageList_Destroy()
              ReleaseCapture()
</code></pre>
<p>Hoffe auf Euren Tipp,<br />
Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1519757</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1519757</guid><dc:creator><![CDATA[Mmacher]]></dc:creator><pubDate>Fri, 30 May 2008 13:23:36 GMT</pubDate></item><item><title><![CDATA[Reply to TVN_BEGINDRAG und Windows Vista on Mon, 02 Jun 2008 08:52:46 GMT]]></title><description><![CDATA[<p>Hmm,<br />
ich komme echt nicht voran mit diesem Problem <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Hab mir eine grundlegende Frage gestellt:<br />
Bei WM_MOUSEMOVE rufe ich ImageList_DragMove() auf.<br />
Unter Windows XP (und alle früheren Versionen) wird dabei sowohl das Icon als auch der Text des Tree-Views gemeinsam gezeichnet und gedraggt.</p>
<p>Heißt das, der Text wird für die Dauer des Draggens vorübergehend als Image-Grafik umgewandelt?<br />
Oder werden sie nach allgemeinem (Menschen-)Verständnis weiterhin als zwei getrennte Objekte (also Icon und Text) gezeichnet und gedraggt?</p>
<p>Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1520955</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1520955</guid><dc:creator><![CDATA[Mmacher]]></dc:creator><pubDate>Mon, 02 Jun 2008 08:52:46 GMT</pubDate></item><item><title><![CDATA[Reply to TVN_BEGINDRAG und Windows Vista on Mon, 02 Jun 2008 09:51:41 GMT]]></title><description><![CDATA[<p>Nein! Aus dem gesamten selektierten Zeugs wird eine Bitmap und eine Maske gebaut, die das transparente Ziehen erlaubt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1520993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1520993</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 02 Jun 2008 09:51:41 GMT</pubDate></item><item><title><![CDATA[Reply to TVN_BEGINDRAG und Windows Vista on Mon, 02 Jun 2008 10:23:08 GMT]]></title><description><![CDATA[<p>Danke für die Info.</p>
<p>Woran liegt es daß Windows Vista den zugehörigen Text nicht mit in die Bitmap einfügt?<br />
Theroetisch könnte es auch sein, daß vielleicht nur die Maske falsch erzeugt wurde?</p>
<p>Wenn ja, welche Einflußmöglichkeiten habe ich hier über die Win32-API?</p>
<p>Kopfzerbrechen bereitet mir dieses Phänomen vor allem deswegen, weil es nur unter Vista (und damit höchstwahrscheinlich auch auf Server 2008) auftritt.<br />
Bei allen anderen bis einschl. XP und 2003 Server (sowohl die NT- als auch die 9x/Me-Schiene) wird beim Draggen der zugehörige Text mitgezeichnet.</p>
<p>Martin</p>
<p>P.S.:<br />
Ich selektiere nur ein einziges TreeView-Element (also kein Multiselect o.ä.).<br />
Auch verwende ich keinerlei Ownerdrawn-Elemente, halt den &quot;Standard&quot;-TreeView Control.<br />
Die Farben und Fonts für die Texte werden von mir nicht manipuliert, ich verwende die von Windows voreingestellten Farben und Fonts.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1521007</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1521007</guid><dc:creator><![CDATA[Mmacher]]></dc:creator><pubDate>Mon, 02 Jun 2008 10:23:08 GMT</pubDate></item><item><title><![CDATA[Reply to TVN_BEGINDRAG und Windows Vista on Mon, 02 Jun 2008 22:05:23 GMT]]></title><description><![CDATA[<p>Hi,<br />
nach etlichen Stunden Rumprobiererei und (erfolgloser) Internet-Recherche bin ich auf eine ganz heiße Spur gestoßen!<br />
Nun, mittlerweile hab ichs herausgefunden, daß das Phänomen gar nichts mit Vista zu tun hat (das hätte mich auch stark gewundert).</p>
<p>Sondern schlicht und einfach in Abhängigkeit einer Einstellung für die Anzeige: <strong>&quot;Methode zum Kantenglätten von Bildschirmschriftarten verwenden&quot;</strong>. Grrrr... darauf hätte man erstmal draufkommen müssen!</p>
<p>Deaktiviere ich diese Methode komplett (d.h. Häkchen weg), so funktioniert das Draggen einwandfrei.</p>
<p>Bei der klassischen Windows-Darstellung (d.h. kein spezielles Theme eingestellt), so funktioniert das Draggen auch bei gesetztem Häkchen, aber mit der Methode &quot;Standard&quot;.<br />
Das gleiche gesetzte Häkchen, mit der Methode &quot;Standard&quot; aber bei einer eingestellten Theme-Darstellung (Win XP Theme bzw. Win Vista Aero) fehlt der Text beim Draggen!</p>
<p>Bei gesetztem Häkchen und mit Methode &quot;ClearType&quot; wird der Text beim Draggen überhaupt nicht dargestellt (egal ob Windows klassisch oder mit einem Theme).</p>
<p>Und nun?<br />
Warum besteht hier ein Zusammenhang zwischen fehlendem Text beim Draggen und dieser Anzeigeeinstellung? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Martin<br />
P.S.: Das mit dem ursprünglichen Verdacht auf Vista hatte sich so ergeben, da es auf einem Laptop mit eben dem aktivierten ClearType lief... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1521469</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1521469</guid><dc:creator><![CDATA[Mmacher]]></dc:creator><pubDate>Mon, 02 Jun 2008 22:05:23 GMT</pubDate></item><item><title><![CDATA[Reply to TVN_BEGINDRAG und Windows Vista on Sun, 08 Jun 2008 19:57:32 GMT]]></title><description><![CDATA[<p>Mmacher schrieb:</p>
<blockquote>
<p>Warum besteht hier ein Zusammenhang zwischen fehlendem Text beim Draggen und dieser Anzeigeeinstellung?</p>
</blockquote>
<p>Hmmm,<br />
keiner eine Idee, woran es liegen könnte?<br />
Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1525379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1525379</guid><dc:creator><![CDATA[Mmacher]]></dc:creator><pubDate>Sun, 08 Jun 2008 19:57:32 GMT</pubDate></item><item><title><![CDATA[Reply to TVN_BEGINDRAG und Windows Vista on Sun, 08 Jun 2008 20:21:10 GMT]]></title><description><![CDATA[<p>Ist ja vieleicht ein dummer Ansatz, aber warum deaktiviert dein Poggy vor dem draggen nicht den Regestryeintrag und setzt ihn wieder nach dem loslassen? Wenns halt net anderster geht. Oder du must halt komplett wm_paint abfangen, aber das ist ja dann auch schon ziemlich heftig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1525384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1525384</guid><dc:creator><![CDATA[dummer Ansatz?]]></dc:creator><pubDate>Sun, 08 Jun 2008 20:21:10 GMT</pubDate></item><item><title><![CDATA[Reply to TVN_BEGINDRAG und Windows Vista on Sun, 08 Jun 2008 20:23:28 GMT]]></title><description><![CDATA[<p>Ist genauso eine Scheisse, wie bei der Themed-TAB-Controll, da bekommst du auch keine Bottom TABs hin ausser du malst sie selbern, weiss echt nicht was sich die Entwickler dabei gedacht haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1525385</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1525385</guid><dc:creator><![CDATA[nachgeschmissen]]></dc:creator><pubDate>Sun, 08 Jun 2008 20:23:28 GMT</pubDate></item></channel></rss>