<?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[Wohin mit CListCtrl::SetExtendedStyle(...) ???]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>Habe mir eine eigene, von CListCtrl abgeleitete Klasse geschrieben. In meinem ListControl soll bei einer Auswahl immer die ganze Zeile markiert werden. Die Lösung dafür habe ich gerade eben im FAQ gefunden: <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39111.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-39111.html</a></p>
<blockquote>
<p>SetExtendedStyle( LVS_EX_FULLROWSELECT)</p>
</blockquote>
<p>Klappt ja alles wunderbar, meine Frage ist nur wo ich diese Methode am besten aufrufe? (Soll ja innerhalb meiner Klasse aufgerufen werden)</p>
<p>Konstruktor?<br />
OnCreate?<br />
PreCreateWindow?<br />
usw...</p>
<p>Wo gehört so was hin??? Bin durch die große Anzahl der Möglichkeiten etwas verwirrt... <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>Gruß Brainiac</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/150392/wohin-mit-clistctrl-setextendedstyle</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Jul 2026 13:45:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/150392.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 15 Jun 2006 23:14:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wohin mit CListCtrl::SetExtendedStyle(...) ??? on Thu, 15 Jun 2006 23:14:45 GMT]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>Habe mir eine eigene, von CListCtrl abgeleitete Klasse geschrieben. In meinem ListControl soll bei einer Auswahl immer die ganze Zeile markiert werden. Die Lösung dafür habe ich gerade eben im FAQ gefunden: <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39111.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-39111.html</a></p>
<blockquote>
<p>SetExtendedStyle( LVS_EX_FULLROWSELECT)</p>
</blockquote>
<p>Klappt ja alles wunderbar, meine Frage ist nur wo ich diese Methode am besten aufrufe? (Soll ja innerhalb meiner Klasse aufgerufen werden)</p>
<p>Konstruktor?<br />
OnCreate?<br />
PreCreateWindow?<br />
usw...</p>
<p>Wo gehört so was hin??? Bin durch die große Anzahl der Möglichkeiten etwas verwirrt... <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>Gruß Brainiac</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1078584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1078584</guid><dc:creator><![CDATA[Brainiac]]></dc:creator><pubDate>Thu, 15 Jun 2006 23:14:45 GMT</pubDate></item><item><title><![CDATA[Reply to Wohin mit CListCtrl::SetExtendedStyle(...) ??? on Thu, 15 Jun 2006 23:59:11 GMT]]></title><description><![CDATA[<p>Konstruktor ist gut <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1078591</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1078591</guid><dc:creator><![CDATA[guenni81]]></dc:creator><pubDate>Thu, 15 Jun 2006 23:59:11 GMT</pubDate></item><item><title><![CDATA[Reply to Wohin mit CListCtrl::SetExtendedStyle(...) ??? on Fri, 16 Jun 2006 08:58:41 GMT]]></title><description><![CDATA[<p>War die Antwort ernst gemeint? <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="😕"
    /> Also im Konstrukor bekomme ich einen ASSERT-Fehler. (IsWindow)</p>
<p>Ich will halt kein Gefrickel, deswegen frage ich hier so blöd, will halt wissen wo so etwas in einem sauberen Code steht. Für mich wäre es logisch, in der PreCreateWindow den Style zu setzen. Deshalb mein Versuch:</p>
<pre><code class="language-cpp">BOOL CFileListCtrl::PreCreateWindow(CREATESTRUCT&amp; cs)
{
	cs.dwExStyle |= LVS_EX_FULLROWSELECT;
	return CListCtrl::PreCreateWindow(cs);
}
</code></pre>
<p>Dies hat jedoch keine Auswirkungen?!? <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="😕"
    /><br />
Es gibt keinen Fehler, im ListControl wird jedoch nicht die ganze Zeile bei einer Auswahl markiert.</p>
<p>Gruß Brainiac</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1078711</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1078711</guid><dc:creator><![CDATA[Brainiac]]></dc:creator><pubDate>Fri, 16 Jun 2006 08:58:41 GMT</pubDate></item><item><title><![CDATA[Reply to Wohin mit CListCtrl::SetExtendedStyle(...) ??? on Fri, 16 Jun 2006 10:14:59 GMT]]></title><description><![CDATA[<p>Weil Du denkst die Extended Styles würden den Window Style betreffen. Das ist ein Irrtum. Du musst die Funktion SetExtendedStyle verwenden, anders lassen sich diese Stile nicht anwenden.<br />
Wenn ich ein eigenes Control baue, dann platziere ich diese Funktion immer in meinem OnCreate Handler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1078749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1078749</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Fri, 16 Jun 2006 10:14:59 GMT</pubDate></item><item><title><![CDATA[Reply to Wohin mit CListCtrl::SetExtendedStyle(...) ??? on Fri, 16 Jun 2006 18:58:59 GMT]]></title><description><![CDATA[<p>Danke für deine Antwort Martin!</p>
<p>Ok, OnCreate war ja auch eine meiner Ideen, hier habe ich jedoch das Problem, dass die Funktion nicht aufgerufen wird?!? <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="😕"
    /> Also irgendwie is mal wieder der Wurm drin... <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="😞"
    /> Ich habe ganz normal einen Message-Handler für WM_CREATE in meine Control-Klasse eingebaut:</p>
<pre><code class="language-cpp">int CFileListCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	TRACE(&quot;OnCreate()\n&quot;);
	if (CListCtrl::OnCreate(lpCreateStruct) == -1)
		return -1;

	SetExtendedStyle(LVS_EX_FULLROWSELECT);

	return 0;
}
</code></pre>
<p>Diese Funktion wird jedoch gar nicht erst aufgerufen, ich sehe nichts von dem TRACE! <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>Was läuft den hier schon wieder falsch???</p>
<p>Der Konstruktor z.B. wird aufgerufen, den habe ich ebenfalls mit einem TRACE versehen. Nur auf WM_CREATE wird komischerweise nicht reagiert. (Hab den Handler ganz normal über den Assistenten eingebaut, also auch die MessageMap stimmt...)</p>
<p>Kann mir jemand sagen woran das nun liegen kann???</p>
<p>Danke im voraus,</p>
<p>Gruß Brainiac</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079139</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079139</guid><dc:creator><![CDATA[Brainiac]]></dc:creator><pubDate>Fri, 16 Jun 2006 18:58:59 GMT</pubDate></item><item><title><![CDATA[Reply to Wohin mit CListCtrl::SetExtendedStyle(...) ??? on Wed, 25 Sep 2013 20:12:51 GMT]]></title><description><![CDATA[<p>OnCreate(...) wird offensichtlich nicht aufgerufen. Das Objekt wird im Konstruktor geschaffen, da gehört die Funktion aber nicht hin.<br />
... wenn Du die Funktion in PreCreateWindow(...) verwendest, klappt es dann?</p>
<p>..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079167</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079167</guid><dc:creator><![CDATA[Erhard Henkes]]></dc:creator><pubDate>Wed, 25 Sep 2013 20:12:51 GMT</pubDate></item><item><title><![CDATA[Reply to Wohin mit CListCtrl::SetExtendedStyle(...) ??? on Fri, 16 Jun 2006 21:09:06 GMT]]></title><description><![CDATA[<p>Danke nochmals für deine Antwort,</p>
<p>leider funktioniert das auch nicht. Es liegt aber ebenfalls daran, dass die PreCreateWindow gar nicht aufgerufen wird!</p>
<p>Ich glaube ich mache etwas grundsätzliches falsch. Es ist das erste Mal, dass ich mich an eigene Controls wage... <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>
<p>Hab auch mal mit den verschiedenen Einstellungen, z.B. &quot;Ownerdrawn fixed&quot; herumgespielt, jedoch keine Änderung erzielt. (Außer dass dann gar nichts mehr in meinem Control dargestellt wurde. <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="😞"
    /> OnCreate, PreCreateWindow o.ä. kamen jedoch trotzdem nicht an...)</p>
<p>Hat mir jemand ein gutes Tutorial über das Erstellen eigener Controls?</p>
<p>(Irgendwie komme ich mir gerade ziemlich dumm vor, ich hätte nicht gedacht dass mich das vor solche Probleme stellt... Ist ja nicht das erste Mal das ich was mit MFC mache <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> )</p>
<p>Ich erläutere mal einfach meine Vorgehensweise, vielleicht habe ich etwas total banales vergessen:</p>
<p>- Ich habe einen eigenen Dialog, in dem ich im Ressourcen-Editor ein ListCtrl eingefügt habe<br />
- Dann habe ich mir eine neue Klasse erstellt (CFileListCtrl), abgeleitet von CListCtrl<br />
- Nun im Ressourcen-Editor Rechtsklick auf das ListCtrl -&gt; Variable hinzufügen.<br />
- Dort eine Steuerelementvariable m_List erstellt und den Typ von CListCtrl auf CFileListCtrl geändert.</p>
<p>Und nun müssten doch bei Aktionen mit meinem Control die Handler meiner eigenen Klasse aufgerufen werden, oder?<br />
Aber wie gesagt, das einzige was bis jetzt definitiv aufgerufen wird ist der Konstruktor. (Also wird zumindest mal eine Instanz meiner Control-Klasse erstellt)</p>
<p>Wo ist der Fehler???</p>
<p>PS: Nicht einmal WM_PAINT kommt in meiner Klasse an... <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>Gruß Brainiac</p>
<p>EDIT: Oh, habe erst jetzt deinen Edit gesehen! Ich glaube das hört sich für mich interessant an, könnte es sein das hier mein Fehler liegt?</p>
<blockquote>
<p>2. Initialize the CListCtrl object and attach an actual Windows list view common control to it with a call to the CListCtrl::Create() method.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1079176</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079176</guid><dc:creator><![CDATA[Brainiac]]></dc:creator><pubDate>Fri, 16 Jun 2006 21:09:06 GMT</pubDate></item><item><title><![CDATA[Reply to Wohin mit CListCtrl::SetExtendedStyle(...) ??? on Sat, 17 Jun 2006 06:35:06 GMT]]></title><description><![CDATA[<p>Also wenn Du das ListCtrl erst in einem Dialog subclasses, dann bekommst Du natürlich keine WM_CREATE Nachricht, denn der Dialog hat das Control längst erzeugt.<br />
Auch PreCreateWindow kann nicht funktionieren, denn auch in diesem Fall müsste Create aufgerufen werden, aber das passiert in einem Dialog nicht mehr.</p>
<p>Genau für Deinen Fall wurde PreSubclassWindow geschaffen. D.h. Du bekommst das Handle eines Plain Windows angeboten, dass demnächst in der MFC verwendet werden soll. Hier kannst Du nun Deine entsprechenden Vorbereitungen treffen.</p>
<p>Warum ein WM_PAINT nicht ankommt ist mir unklar. Messagemap Entry Eintrag vergessen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079271</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079271</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Sat, 17 Jun 2006 06:35:06 GMT</pubDate></item><item><title><![CDATA[Reply to Wohin mit CListCtrl::SetExtendedStyle(...) ??? on Sat, 17 Jun 2006 07:07:38 GMT]]></title><description><![CDATA[<p>Erstelle doch mal probeweise dein CMyListView/CMyListCtrl nicht über die Ressourcen, sondern auf die o.g. Weise, also mit Create(...):</p>
<pre><code class="language-cpp">BOOL Create(DWORD dwStyle, const RECT&amp; rect, CWnd* pParentWnd, UINT nID);
/*
•  dwStyle Specifies the combination of styles used by a list control. 
•  rect Specifies a list control’s size and position. 
•  pParentWnd Specifies the list control’s parent window. 
•  nID Specifies the control identifier for a list control. 
*/
</code></pre>
<p>Vielleicht kannst Du auch von Demo-Projekten erweiterter CListCtrl's Ideen finden:<br />
<a href="http://www.codeproject.com/listctrl/filedroplistctrl.asp" rel="nofollow">http://www.codeproject.com/listctrl/filedroplistctrl.asp</a> u.a.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079272</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079272</guid><dc:creator><![CDATA[Erhard Henkes]]></dc:creator><pubDate>Sat, 17 Jun 2006 07:07:38 GMT</pubDate></item></channel></rss>