<?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[Dialog mit Liste aktualisieren]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>wie kann ich ein Dialog mit einer Liste beim Drücken eines Buttens wieder aktualisieren ??</p>
<p>In der Liste steht der Inhalt eines Vectors und dieser wird von einer Datenbank gefüllt.</p>
<p>Wenn ich den Butten drücke, schreibt er mir einen neuen eintrag in die Datenbank, dannach soll der Dialog wieder aktualisiert werden, weil dort der Vector wieder neu gefüllt wird.</p>
<p>Mit</p>
<pre><code class="language-cpp">void CServerDialog::OnNewserver() 
{
	UpdateData(TRUE);
	Datenbank.fInsertNewServer();
	UpdateData(FALSE);	
}
</code></pre>
<p>tut es nicht...</p>
<p>Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/68970/dialog-mit-liste-aktualisieren</link><generator>RSS for Node</generator><lastBuildDate>Sat, 02 May 2026 06:45:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/68970.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 23 Mar 2004 11:48:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dialog mit Liste aktualisieren on Tue, 23 Mar 2004 11:48:12 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>wie kann ich ein Dialog mit einer Liste beim Drücken eines Buttens wieder aktualisieren ??</p>
<p>In der Liste steht der Inhalt eines Vectors und dieser wird von einer Datenbank gefüllt.</p>
<p>Wenn ich den Butten drücke, schreibt er mir einen neuen eintrag in die Datenbank, dannach soll der Dialog wieder aktualisiert werden, weil dort der Vector wieder neu gefüllt wird.</p>
<p>Mit</p>
<pre><code class="language-cpp">void CServerDialog::OnNewserver() 
{
	UpdateData(TRUE);
	Datenbank.fInsertNewServer();
	UpdateData(FALSE);	
}
</code></pre>
<p>tut es nicht...</p>
<p>Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/486762</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/486762</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Tue, 23 Mar 2004 11:48:12 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog mit Liste aktualisieren on Tue, 23 Mar 2004 11:55:25 GMT]]></title><description><![CDATA[<p>Du musst<br />
a) Das neue Element in den Vector eintragen,<br />
b) das gleiche in der Datenbank tun,<br />
c) das gleiche in der Listbox tun.</p>
<p>Devil</p>
]]></description><link>https://www.c-plusplus.net/forum/post/486767</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/486767</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Tue, 23 Mar 2004 11:55:25 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog mit Liste aktualisieren on Tue, 23 Mar 2004 12:17:53 GMT]]></title><description><![CDATA[<p>Ja genau, das mache ich ja wenn ich den Dialog aufrufe.</p>
<p>Jetzt habe ich gedacht, dass ich einfach den Dialog neu aufrufe...</p>
<p>Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/486785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/486785</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Tue, 23 Mar 2004 12:17:53 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog mit Liste aktualisieren on Tue, 23 Mar 2004 12:21:04 GMT]]></title><description><![CDATA[<p>Servus,</p>
<p>in welcher Funktion aktualisierst du denn die Daten bzw. in welcher schreibst du die Daten in deine Listbox?</p>
<p>OnInit? oder wo?</p>
<p>*winke*<br />
Hellsgore</p>
]]></description><link>https://www.c-plusplus.net/forum/post/486787</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/486787</guid><dc:creator><![CDATA[Hellsgore]]></dc:creator><pubDate>Tue, 23 Mar 2004 12:21:04 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog mit Liste aktualisieren on Tue, 23 Mar 2004 12:26:40 GMT]]></title><description><![CDATA[<p>Hallo,<br />
genau</p>
<pre><code class="language-cpp">BOOL CServerDialog::OnInitDialog() 
{
	CDialog::OnInitDialog();		
	if(!m_cServerliste.SchreibeServerAusDatenbank())
	{
		AfxMessageBox(&quot;Fehler beim init der Serverliste&quot;);
		EndDialog(IDCANCEL);
		return TRUE;
	}
	CListBox* pLB = (CListBox*) GetDlgItem(IDC_LISTSERVER);
	for(int i= 0; i != m_cServerliste.size(); i++)
	{
		pLB-&gt;AddString(m_cServerliste[i].getServername().c_str());
	}	
	return TRUE;  
}
</code></pre>
<p>Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/486793</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/486793</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Tue, 23 Mar 2004 12:26:40 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog mit Liste aktualisieren on Tue, 23 Mar 2004 12:52:14 GMT]]></title><description><![CDATA[<p>Mach doch ne neue Funktion. z.B.</p>
<p>Ich gehe mal davon aus das du den Vector schon gefüllt hast und auch die Datenbank geändert hast. Wenn der Vector dann so steht wie er sein soll schreibst du den einfach in die Listbox.</p>
<pre><code class="language-cpp">void CDeinDlg::InitValues()
{
    CListBox* pLB = (CListBox*) GetDlgItem(IDC_LISTSERVER);
    pLB-&gt;ResetContent(); //Alles löschen und dann alles reinschreiben    
    for(int i= 0; i != m_cServerliste.size(); i++)
    {
        pLB-&gt;AddString(m_cServerliste[i].getServername().c_str());
    }
}
</code></pre>
<p>ist nur böse wenn du dann jedesmal 10000 Sätze oder so neuschreiben musst. Das dauert dann ein bissle....</p>
<p>Wenn du es natürlich ganz fein machen willst musst du dir merken, welchen Wert du geändert oder hinzugefügt hast und diesen dann in der Liste suchen bzw. hinzufügen und neu sortieren lassen. Ist dann ein bissle Aufwand <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>*winke*<br />
Hellsgore</p>
]]></description><link>https://www.c-plusplus.net/forum/post/486826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/486826</guid><dc:creator><![CDATA[Hellsgore]]></dc:creator><pubDate>Tue, 23 Mar 2004 12:52:14 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog mit Liste aktualisieren on Tue, 23 Mar 2004 14:00:21 GMT]]></title><description><![CDATA[<p>Danke Dir nochmals,</p>
<p>mmhhh, da komme ich jetzt aber nicht ganz mit.</p>
<p>Mein Gedanke ist,</p>
<p>Der Dialog wird aufgerufen:</p>
<pre><code class="language-cpp">BOOL CServerDialog::OnInitDialog()
</code></pre>
<p>im Dialog wir die Funktion aufgerufen, die die Datenbank liest und in einen entsprechenden Vector schreibt:</p>
<pre><code class="language-cpp">if(!m_cServerliste.SchreibeServerAusDatenbank())
</code></pre>
<p>Danach wird die Liste geschrieben in der der Inhalt des Vectors gezeigt wird:</p>
<pre><code class="language-cpp">CListBox* pLB = (CListBox*) GetDlgItem(IDC_LISTSERVER);
    for(int i= 0; i != m_cServerliste.size(); i++)
    {
        pLB-&gt;AddString(m_cServerliste[i].getServername().c_str());
    }
</code></pre>
<p>Jetzt habe ich im Dialog ein Button, der beim aufruf die Funktion aufruft in der ein Insert auf die Datenbank gemacht wird (neuen Server anlegen:</p>
<pre><code class="language-cpp">void CServerDialog::OnNewserver() 
{
	UpdateData(TRUE);
	Datenbank.fInsertNewServer();	
	UpdateData(FALSE);	
}
</code></pre>
<p>Und jetzt möchte ich, dass wieder der Dialog neu gezeichnet wird , in dem die Liste wieder neu geschrieben wird.<br />
Wie mache ich dass ??<br />
Es handelt sich nur um ca. max. 10 Einträge...</p>
<p>Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/486887</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/486887</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Tue, 23 Mar 2004 14:00:21 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog mit Liste aktualisieren on Tue, 23 Mar 2004 14:08:15 GMT]]></title><description><![CDATA[<p>Öhm hab dir doch einen Vorschlag gemacht!!!<br />
Du erstellst dir eine neue Funktion, löschst alle Werte aus der Listbox und schreibst alle aus dem Vektor wieder rein, oder weisst du nicht so ganz wie man eine neue Funktion schreibt?</p>
<p>*winke*<br />
Hellsgore</p>
]]></description><link>https://www.c-plusplus.net/forum/post/486901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/486901</guid><dc:creator><![CDATA[Hellsgore]]></dc:creator><pubDate>Tue, 23 Mar 2004 14:08:15 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog mit Liste aktualisieren on Tue, 23 Mar 2004 14:11:51 GMT]]></title><description><![CDATA[<p>devil81 schrieb:</p>
<blockquote>
<p>Du musst<br />
a) Das neue Element in den Vector eintragen,<br />
b) das gleiche in der Datenbank tun,<br />
c) das gleiche in der Listbox tun.</p>
</blockquote>
<p>Sollen wir es dir vorkauen ?<br />
Und wenn es 10 Werte sind, für was brauchst du dann eine Datenbank ???</p>
<p>Devil</p>
]]></description><link>https://www.c-plusplus.net/forum/post/486905</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/486905</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Tue, 23 Mar 2004 14:11:51 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog mit Liste aktualisieren on Tue, 23 Mar 2004 14:45:07 GMT]]></title><description><![CDATA[<p>Danke euch,</p>
<p>Jetzt Funktioniert es...</p>
<p>Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/486936</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/486936</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Tue, 23 Mar 2004 14:45:07 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog mit Liste aktualisieren on Tue, 23 Mar 2004 15:04:49 GMT]]></title><description><![CDATA[<p>Jetzt muß ich dennoch noch mal fragen,</p>
<p>ich führe für jeden Eintrag eine ID mit.</p>
<p>Wenn ich jetzt die elegante lösung nehmen möchte und nur den entsprechenden Eintrag ändern möchte, muß ich mir ja einen wert merken.</p>
<p>Wie mache ich dass.<br />
Muß ich mir bei jedem Durchlauf zb. die ID des Servers in eine seperate Variable speichzern ??</p>
<p>Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/486949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/486949</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Tue, 23 Mar 2004 15:04:49 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog mit Liste aktualisieren on Tue, 23 Mar 2004 15:24:11 GMT]]></title><description><![CDATA[<p>Bsp. von mir wie man es lösen könnte:</p>
<pre><code class="language-cpp">CListBox* pList = (CListBox*) GetDlgItem(IDC_LISTSERVER);

int iPos = 0;
if ((iPos = pList-&gt;FindString(&quot;Dein neuer Satz&quot;)) != -1)
{
	//Wenn was gefunden dann ändere den Satz
	pList-&gt;DeleteString(iPos);
	pList-&gt;InsertString(iPos, &quot;Dein neuer Satz&quot;);
}
else
{
	//Wenn nix gefunden dann füge ein
         pList-&gt;AddString(&quot;Dein neuer Satz&quot;)
}
</code></pre>
<p>Dann wendest du das an, wenn du ein neuer Satz eingefügt wird oder ein neuer Satz hinzu gefügt werden soll. Das solltest du dann aber für deine Ansprüche umschreiben. Weiss auch nicht ob das funzt <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="😃"
    /> einfach mal testen... Soll ja nur dazu dienen dir einen Hinweis zu geben.</p>
<p>*winke*<br />
Hellsgore</p>
]]></description><link>https://www.c-plusplus.net/forum/post/486963</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/486963</guid><dc:creator><![CDATA[Hellsgore]]></dc:creator><pubDate>Tue, 23 Mar 2004 15:24:11 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog mit Liste aktualisieren on Tue, 23 Mar 2004 15:27:31 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Nutze statt der ListBox ein ListCtrl, dann kannst du die ID mittels SetItemData() speichern. Und das Auffinden per ID ist nach dem Sortieren auch einfach. <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>Gruß A.K.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/486968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/486968</guid><dc:creator><![CDATA[Andreas Kapust]]></dc:creator><pubDate>Tue, 23 Mar 2004 15:27:31 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog mit Liste aktualisieren on Tue, 23 Mar 2004 17:17:59 GMT]]></title><description><![CDATA[<p>Andreas Kapust schrieb:</p>
<blockquote>
<p>Hi!</p>
<p>Nutze statt der ListBox ein ListCtrl, dann kannst du die ID mittels SetItemData() speichern. Und das Auffinden per ID ist nach dem Sortieren auch einfach. <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>Gruß A.K.</p>
</blockquote>
<p>Wenn er nur eine Spalte hat, tuts ne Listbox auch.<br />
Wenn du die elemente so wie sie im Vector stehen, in die Listbox schreibst,<br />
sie dort nicht sortierst, dann sind die positionen der elemente in der Listbox<br />
identisch mit dem Vector. Jetzt musst du nur noch rausfinden welches Element<br />
in der Listbox selektiert wurde, dann kannst du es darüber im vector finden.</p>
<p>Eleganter ist natürlich CListCtrl <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 />
Da könnte man noch checkboxen reinmachen, welches die Usability wohl vereinfachen würde...</p>
<p>Devil</p>
]]></description><link>https://www.c-plusplus.net/forum/post/487061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/487061</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Tue, 23 Mar 2004 17:17:59 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog mit Liste aktualisieren on Tue, 23 Mar 2004 17:32:52 GMT]]></title><description><![CDATA[<p>Vielen Dank für die vielen Ratschläge,</p>
<p>ich habe dies jetzt mit der CListBox realisiert und scheint auch zu funzen.</p>
<p>Wenn ich jetzt dennoch auf die CListCtrl umsteigen möchte, muß ich einfach aus der CListBox ein CListCtrl machen ??</p>
<p>Im MFC-Klassenassisten finde ich nichts darüber.</p>
<p>Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/487071</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/487071</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Tue, 23 Mar 2004 17:32:52 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog mit Liste aktualisieren on Tue, 23 Mar 2004 18:38:13 GMT]]></title><description><![CDATA[<p>Schau mal in die FAQ. <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="🙄"
    /><br />
Oder suche nach CListCtrl.</p>
<p>Es ist ein eigenes Steuerelement, findet sich aber auch<br />
im Dialogeditor.</p>
<p>Devil</p>
]]></description><link>https://www.c-plusplus.net/forum/post/487125</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/487125</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Tue, 23 Mar 2004 18:38:13 GMT</pubDate></item></channel></rss>