<?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[Ausgabe von Daten aus Datenbank in CListCtrl!!!]]></title><description><![CDATA[<p>Wahscheinlich sehe ich den Wald nicht vor lauter Bäume, aber bis jetzt ist das so dass ich meine Suchfunktion in der OnInit klasse von einem Fenster, wo eine Liste ist, packe, so dass in der Datenbank gesucht, in der Liste gepackt und erst dann die Liste gezeigt wird...<br />
Nun, wenn man aber nach ein Suchbegriff sucht was sehr oft vorkommt ( &gt; 5000 Ergebnissen) dauert das etwas länger, und es scheint so als wenn sich nichts tun würde (Absturz) so dass ich bevorziehen würde die Liste zuerst anzuzeigen und dann die Daten nacheinander zu zeigen. Wie kann ich das realisieren dass nach der OnInit klasse das Programm nicht auf eine Nachricht wartet (z.B. Enter drücken, oder so was) sondern sofort mit miner Suchfunktion weitermacht???</p>
<p>Vielen Dank im voraus...</p>
<p>P.S. Falls alles nicht so verständlich ist einfach bescheid sagen... <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/topic/66232/ausgabe-von-daten-aus-datenbank-in-clistctrl</link><generator>RSS for Node</generator><lastBuildDate>Sat, 06 Jun 2026 17:34:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/66232.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 26 Feb 2004 11:44:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ausgabe von Daten aus Datenbank in CListCtrl!!! on Thu, 26 Feb 2004 11:44:15 GMT]]></title><description><![CDATA[<p>Wahscheinlich sehe ich den Wald nicht vor lauter Bäume, aber bis jetzt ist das so dass ich meine Suchfunktion in der OnInit klasse von einem Fenster, wo eine Liste ist, packe, so dass in der Datenbank gesucht, in der Liste gepackt und erst dann die Liste gezeigt wird...<br />
Nun, wenn man aber nach ein Suchbegriff sucht was sehr oft vorkommt ( &gt; 5000 Ergebnissen) dauert das etwas länger, und es scheint so als wenn sich nichts tun würde (Absturz) so dass ich bevorziehen würde die Liste zuerst anzuzeigen und dann die Daten nacheinander zu zeigen. Wie kann ich das realisieren dass nach der OnInit klasse das Programm nicht auf eine Nachricht wartet (z.B. Enter drücken, oder so was) sondern sofort mit miner Suchfunktion weitermacht???</p>
<p>Vielen Dank im voraus...</p>
<p>P.S. Falls alles nicht so verständlich ist einfach bescheid sagen... <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/468254</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/468254</guid><dc:creator><![CDATA[xyxyxy]]></dc:creator><pubDate>Thu, 26 Feb 2004 11:44:15 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabe von Daten aus Datenbank in CListCtrl!!! on Thu, 26 Feb 2004 11:52:03 GMT]]></title><description><![CDATA[<p>multithreading</p>
]]></description><link>https://www.c-plusplus.net/forum/post/468259</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/468259</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Thu, 26 Feb 2004 11:52:03 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabe von Daten aus Datenbank in CListCtrl!!! on Mon, 15 Mar 2004 10:07:06 GMT]]></title><description><![CDATA[<p>Ich würde mal ausprobieren, die Suchfunktion an das Ende von OnPaint() zu packen. Und dann noch ein Flag vorneweg, damit sie nur beim ersten Aufruf ausgeführt wird und nicht bei jedem OnPaint().</p>
<p>[edit] Diese miese Antwort sollte ich wohl lieber löschen, bevor dieser Thread noch mal hoch kommt... <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="😃"
    /> [/edit]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/468262</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/468262</guid><dc:creator><![CDATA[isabeau]]></dc:creator><pubDate>Mon, 15 Mar 2004 10:07:06 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabe von Daten aus Datenbank in CListCtrl!!! on Thu, 26 Feb 2004 12:47:43 GMT]]></title><description><![CDATA[<p>danke @all.<br />
Ich werde es mal ausprobieren mit OnPaint und melde mich dann mal...<br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1573">@Sovok</a>: Was meinst du mit Multithreading?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/468311</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/468311</guid><dc:creator><![CDATA[xyxyxy]]></dc:creator><pubDate>Thu, 26 Feb 2004 12:47:43 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabe von Daten aus Datenbank in CListCtrl!!! on Thu, 26 Feb 2004 14:10:47 GMT]]></title><description><![CDATA[<p>Eine Programm hat eine Messageschleife. Diese wird automatisch ausgeführt und leitet die Nachrichten an die Steuerelemente weiter, welche dann darauf reagieren. So funktioniert Windows. Wenn du jetzt eine Funktion ausführtst dann wird diese Messageschleife nicht aufgerufen solange deine Funktion läuft. Ohne Threads kann ein programm nur eine Codezeile nach der anderen ausführen.</p>
<p>Lösung. Berechnung in Threads auslagern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/468379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/468379</guid><dc:creator><![CDATA[Unix-Tom]]></dc:creator><pubDate>Thu, 26 Feb 2004 14:10:47 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabe von Daten aus Datenbank in CListCtrl!!! on Tue, 02 Mar 2004 08:35:00 GMT]]></title><description><![CDATA[<p>Danke schön, mit ein Thread hat es funktioniert... Was alles so gibt...<br />
Jetzt muss ich nur noch ein paar Schönheitsfehlern beseitigen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/471342</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/471342</guid><dc:creator><![CDATA[xyxyxy]]></dc:creator><pubDate>Tue, 02 Mar 2004 08:35:00 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabe von Daten aus Datenbank in CListCtrl!!! on Mon, 15 Mar 2004 08:37:02 GMT]]></title><description><![CDATA[<p>Jetzt hat sich ein neues Problem ergeben...<br />
Ich möchte jetzt die Kunden ,die gesperrt sind rot kennzeichnen...<br />
Ich habe eine Klasse erstellt, die von CListCtrl abgeleitet wird und dort habe ich folgendes gepackt...</p>
<p>DrawListCtrl.h</p>
<pre><code class="language-cpp">afx_msg void OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult);
   void SetItemTextColor(int iItem = -1, COLORREF color = RGB(0,0,0), BOOL bRedraw = TRUE);
</code></pre>
<p>und unter DrawListCtrl.cpp folgendes</p>
<pre><code class="language-cpp">void DrawListCtrl::SetItemTextColor(int iItem,  COLORREF color, BOOL bRedraw)
{
	aTextColors = color;
	m_iColorItem = iItem;
	if (bRedraw)
		RedrawWindow();
}

void DrawListCtrl::OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NMLVCUSTOMDRAW* lplvcd = reinterpret_cast&lt;NMLVCUSTOMDRAW*&gt;( pNMHDR );

	*pResult = CDRF_DODEFAULT;

    if ( CDDS_PREPAINT == lplvcd-&gt;nmcd.dwDrawStage )
    {
        *pResult = CDRF_NOTIFYITEMDRAW;
    }
    else if ( CDDS_ITEMPREPAINT == lplvcd-&gt;nmcd.dwDrawStage )
    {
	//	if ( (lplvcd-&gt;nmcd.dwItemSpec) ==  m_iColorItem)
			lplvcd-&gt;clrText = aTextColors;

		*pResult = CDRF_DODEFAULT;
	}
}
</code></pre>
<p>Hier werden auch andere Änderungen gemacht, die 100%ig funktionieren...</p>
<p>In meinem Thread habe ich jetzt SetItemTextColor aufgerufen:</p>
<pre><code class="language-cpp">void TABELLE::thrRun()
{
   while (m_Flag) 
   {
     cs.Lock();	
     switch(tabart)
     {
        case Zahlung:
	{
	   .....		
	}
	case Kunde:
	{
	   ...
	   CString anfrage = &quot;SELECT kdnummer, matchcode, kundentyp, name1, name2, plz, ort FROM deduct.kundenstamm_kd&quot;;
	   mysql_query(&amp;DB.mDB,anfrage);

	   CString  kdnummer = &quot;&quot;;
	   int markzeile = 0;
	   if ((ergebnis = mysql_use_result(&amp;DB.mDB)) != NULL)
           {
	      counter = 0;
              while ((zeile = mysql_fetch_row(ergebnis)) != NULL &amp;&amp; merker == FALSE)
	      {			
		  for(i = 0; i &lt; mysql_num_fields(ergebnis); i+= 8)
		  {							
		     CString zeile3 = zeile[i+3];
		     if (zeile3 == &quot;&quot;)
			zeile3 = zeile[i+4];
		     int merk = atoi(zeile[i+7]);
                     if ( merk == 0)
			m_TE_LISTE.SetItemTextColor(counter,RGB(255,0,0),FALSE); //m_TE_LISTE greift auf DrawListCtrl.cpp zu
		     else
			m_TE_LISTE.SetItemTextColor(counter,RGB(0,0,0),FALSE);				     	
		     m_TE_LISTE.AddItem( _T(zeile[i]),_T(zeile[i+1]),_T(zeile3),_T(zeile[i+5]),_T(zeile[i+6]),_T(zeile[i+2]));
		     //m_TE_LISTE.AddItem funktioniert...
		     m_TA_Suchergebnis.Format(&quot;Suchergebnis: %i Positionen&quot;, counter+1);

                     SetDlgItemText(IDC_TA_Suchergebnis,m_TA_Suchergebnis);
		     counter++;
		  }
		}
	        mysql_free_result(ergebnis);
		DB.Abmelden();
	    }
	    break;
	}
      }
      cs.Unlock();
      m_Flag = 0; 
      merker = TRUE;
      GetDlgItem(IDCANCEL)-&gt;EnableWindow(TRUE);
      GetDlgItem(IDOK)-&gt;EnableWindow(TRUE);
   }
}
</code></pre>
<p>Nur dadurch dass es ein extra Thread ist &quot;TABELLE::thrRun()&quot;, wird alles entweder durcheinander gezeichnet oder nur Schwarz oder nur Rot...<br />
Kann mir jemand sagen wie ich das lösen kann???</p>
<p>Danke schon mal im vor****...</p>
<p>Samuel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/480576</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/480576</guid><dc:creator><![CDATA[xyxyxy]]></dc:creator><pubDate>Mon, 15 Mar 2004 08:37:02 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabe von Daten aus Datenbank in CListCtrl!!! on Tue, 16 Mar 2004 07:32:59 GMT]]></title><description><![CDATA[<p>Habt ihr irgendwas nicht verstanden???<br />
Falls ihr irgendwas nicht verstanden habt, sag bescheid...<br />
Es ist nämlich sehr wichtig...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/481444</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/481444</guid><dc:creator><![CDATA[xyxyxy]]></dc:creator><pubDate>Tue, 16 Mar 2004 07:32:59 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabe von Daten aus Datenbank in CListCtrl!!! on Tue, 16 Mar 2004 15:13:27 GMT]]></title><description><![CDATA[<p>*schieb*<br />
Hilfffeeeeee</p>
]]></description><link>https://www.c-plusplus.net/forum/post/481816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/481816</guid><dc:creator><![CDATA[xyxyxy]]></dc:creator><pubDate>Tue, 16 Mar 2004 15:13:27 GMT</pubDate></item></channel></rss>