<?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[CListBox]]></title><description><![CDATA[<p>Hallo,</p>
<p>habe eine ListBox und möchte den (Text-) Inhalt (auch teilweise) mit der Maus (sollte zum Cursor werden) markieren können. Anschließend Ctrl-C drücken und mit Ctrl V dann den Inhalt an beliebiger Stelle (z.B. Editor) ablegen können. Wie geht das? Ist das eine Eigenschaft von CListBox? Oder was muß ich tun, damit diese Funktion aktiviert 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="😕"
    /></p>
<p>Kann mir jemand einen kleinen Tip geben?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/175666/clistbox</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Apr 2026 23:40:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/175666.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 13 Mar 2007 00:51:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CListBox on Tue, 13 Mar 2007 00:51:50 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>habe eine ListBox und möchte den (Text-) Inhalt (auch teilweise) mit der Maus (sollte zum Cursor werden) markieren können. Anschließend Ctrl-C drücken und mit Ctrl V dann den Inhalt an beliebiger Stelle (z.B. Editor) ablegen können. Wie geht das? Ist das eine Eigenschaft von CListBox? Oder was muß ich tun, damit diese Funktion aktiviert 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="😕"
    /></p>
<p>Kann mir jemand einen kleinen Tip geben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1244423</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244423</guid><dc:creator><![CDATA[zappofix]]></dc:creator><pubDate>Tue, 13 Mar 2007 00:51:50 GMT</pubDate></item><item><title><![CDATA[Reply to CListBox on Tue, 13 Mar 2007 06:11:00 GMT]]></title><description><![CDATA[<p>Ich geb dir mal nen langen Tip, frag, wenn was unklar ist. <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>
<pre><code class="language-cpp">// ------------------------------------------------------------------------------------------------
// &quot;Bearbeiten -&gt; Kopieren&quot;
// ------------------------------------------------------------------------------------------------
void CMeinDoc::OnEditCopy() 
{
	// Element mit Focus holen
	CWnd* pWnd = m_pView-&gt;GetFocus();
	if (pWnd)
	{
		// Jetzt rausfinden, was es ist:
		// Ein Edit?
		CEdit* pEdit = dynamic_cast&lt;CEdit*&gt;(pWnd);
		if (pEdit)
		{
			pEdit-&gt;Copy();
			return;
		}
		// Eine Combobox?
		CComboBox* pCbx = dynamic_cast&lt;CComboBox*&gt;(pWnd);
		if (pCbx)
		{
			pCbx-&gt;Copy();
			return;
		}
		CListBox* pLst = dynamic_cast&lt;CListBox*&gt;(pWnd);
		if (pLst)
		{
			CString strText;
			pLst-&gt;GetText(pLst-&gt;GetCurSel(), strText);
			CopyToClipboard(strText);
			return;
		}
		CSortListCtrl* pLsc = dynamic_cast&lt;CSortListCtrl*&gt;(pWnd);
		if (pLsc)
		{
			pLsc-&gt;Copy();
		}
	}
}
// ------------------------------------------------------------------------------------------------
// &quot;Bearbeiten -&gt; Kopieren&quot; De-/Aktivierung
// ------------------------------------------------------------------------------------------------
void CBasisDoc::OnUpdateEditCopy(CCmdUI* pCmdUI) 
{
	// Element mit Focus holen
	CWnd* pWnd = m_pView-&gt;GetFocus();
	if (pWnd)
	{
		pCmdUI-&gt;Enable((pWnd-&gt;IsKindOf(RUNTIME_CLASS(CEdit))) || 
						(pWnd-&gt;IsKindOf(RUNTIME_CLASS(CComboBox))) || 
						(pWnd-&gt;IsKindOf(RUNTIME_CLASS(CListBox)))|| 
						(pWnd-&gt;IsKindOf(RUNTIME_CLASS(CListCtrl)))) ;
	}
	else
	{
		// Wenn nichts den Focus hat, kann man nichts machen.
		pCmdUI-&gt;Enable(FALSE);
	}
}

// ------------------------------------------------------------------------------------------------
// Legt den gegebenen Text in die Zwischenablage
// ------------------------------------------------------------------------------------------------
void CBasisDoc::CopyToClipboard(CString&amp; f_strText) const
{
	if(OpenClipboard(NULL))
	{
		// Leermachen
		EmptyClipboard();

		// Speicher reservieren (incl. \0)
		HGLOBAL hCpDaten = GlobalAlloc(GMEM_DDESHARE, f_strText.GetLength() + 1);

		// Daten in systemweiten Speicher schieben
		char* pchData = (char*)GlobalLock(hCpDaten);
		strcpy(pchData, LPCSTR(f_strText));

		// Für andere zur Verfügung stellen
		GlobalUnlock(hCpDaten);

		// Daten in die Zwischenablage schieben
		SetClipboardData(CF_TEXT, hCpDaten);

		// Fertig
		CloseClipboard();
	}
}
</code></pre>
<p>Über Einfügen solltest du bei ein wenig MSDN-Forschung zu den Befehlen von alleine stolpern. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Achja, wenn du einen Dialog hast, wirst du einiges vereinfachen können. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Ich bin nur nicht sicher ob der Accelerator da auch funktioniert... <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1244436</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244436</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Tue, 13 Mar 2007 06:11:00 GMT</pubDate></item><item><title><![CDATA[Reply to CListBox on Tue, 13 Mar 2007 08:13:44 GMT]]></title><description><![CDATA[<p>Hallo estartu,</p>
<p>vielen Herzlichen Dank für den ausführlcihen &quot;Tip&quot;! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
<p>tatsächlich habe ich da noch ein paar Fragen...</p>
<p>1. ich möchte nur den Text markieren, über den die Maus drübergezogen wird, während ich die linke maustaste drücke. Bei mir werden aber immer gleich ganze Zeilen markiert... (Hinweis: ich füge neue Zeilen mit AddString() in meine ListBox ein)<br />
2. Wer oder was ruft den die Funktion OnEditCopy() bzw. die anderen beiden eigentlich auf? <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="😕"
    /> (Mir fehlt z.B. die Verbindung zu einem Tastendruck wie Ctrl-C oder Ctrl-V)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1244481</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244481</guid><dc:creator><![CDATA[zappofix]]></dc:creator><pubDate>Tue, 13 Mar 2007 08:13:44 GMT</pubDate></item><item><title><![CDATA[Reply to CListBox on Tue, 13 Mar 2007 08:22:02 GMT]]></title><description><![CDATA[<p>zappofix schrieb:</p>
<blockquote>
<p>1. ich möchte nur den Text markieren, über den die Maus drübergezogen wird, während ich die linke maustaste drücke. Bei mir werden aber immer gleich ganze Zeilen markiert... (Hinweis: ich füge neue Zeilen mit AddString() in meine ListBox ein)</p>
</blockquote>
<p>Was da passiert ist das Standardverhalten einer Listbox.<br />
Wie man ihr das umbiegen kann weiß ich nicht. Unmöglich ist ja nichts - aber es dürfte kompliziert werden. <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="😉"
    /><br />
Mein Code ist übrigens nur für Einzelauswahl-Listboxen. Aber das sollte sich ja anpassen lassen.</p>
<p>Wie wäre es stattdessen mit einem mehrzeiligen Edit? Da geht auch das Kopieren einfacher, wie du an meinem Code sehen kannst.<br />
Und wenn es schreibgeschützt ist, kann der User auch nix eintippen.</p>
<blockquote>
<p>2. Wer oder was ruft den die Funktion OnEditCopy() bzw. die anderen beiden eigentlich auf? <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="😕"
    /> (Mir fehlt z.B. die Verbindung zu einem Tastendruck wie Ctrl-C oder Ctrl-V)</p>
</blockquote>
<p>In den Ressourcen findest du die Accelerator-Tabelle.<br />
Da müsste Strg+C für ID_EDIT_COPY schon drin sein. (Strg+V = ID_EDIT_PASTE)<br />
Das ist ja Windowsstandard und deswegen Englisch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1244488</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244488</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Tue, 13 Mar 2007 08:22:02 GMT</pubDate></item><item><title><![CDATA[Reply to CListBox on Tue, 13 Mar 2007 08:34:00 GMT]]></title><description><![CDATA[<p>einen &quot;Accelerator&quot; kann ich in meinen Ressourcen nicht finden...<br />
ich sehe unter Ressource nur die Punkte:</p>
<p>Dialog<br />
Icon<br />
String Table<br />
Version</p>
<p>das war's... <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>das nächste mal probier ich die editbox. an der stört mich halt der graue hintergrund, wenn man sie deaktiviert - ich möchte halt, daß ma da nicht drin rumpfuschen kann...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1244498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244498</guid><dc:creator><![CDATA[zappofix]]></dc:creator><pubDate>Tue, 13 Mar 2007 08:34:00 GMT</pubDate></item><item><title><![CDATA[Reply to CListBox on Tue, 13 Mar 2007 08:43:18 GMT]]></title><description><![CDATA[<p>Naja, klick doch mal mit der rechten Maustaste auf &quot;Projektname Ressourcen&quot; und guck mal, was man da alles hinzufügen kann.</p>
<p>Und das mit dem grauen Hintergrund lässt sich mit der Lösung zur Dialogfärbung in der FAQ erschlagen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Achja: Nicht deaktivieren! Schreibschützen: SetReadOnly.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1244512</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244512</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Tue, 13 Mar 2007 08:43:18 GMT</pubDate></item><item><title><![CDATA[Reply to CListBox on Tue, 13 Mar 2007 09:05:58 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> Accelerator eingefügt! Leider ist das Teil leer! Nix ID_EDIT_COPY...<br />
Ich schau mal, wie ich das da reinbekomme...</p>
<p>Muß mal für ein paar Stunden weg - werd' mich nachher wieder intensiv um das Problem kümmern! Vielen Dank nochmal soweit! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Bis später <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/1244522</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244522</guid><dc:creator><![CDATA[zappofix]]></dc:creator><pubDate>Tue, 13 Mar 2007 09:05:58 GMT</pubDate></item></channel></rss>