<?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[spaltenbreite speichern]]></title><description><![CDATA[<p>Hey,<br />
ich hab in nem mfc doc/view sdi prog mit mehreren views ne CListCtrl und möchte die spaltenbreiten speichern, wenn das doc gespeichert wird.<br />
wie stell ich das am besten an?</p>
<p>hab irgendwie so probiert:<br />
in der doc-klasse:</p>
<pre><code>BOOL CBspDoc::OnSaveDocument(LPCTSTR lpszPathName)
{
	POSITION pos = GetFirstViewPosition();
	CView* pView;
	while( pos ){
		pView = GetNextView( pos );

                //hier klappts nicht
		if( pView-&gt;GetRuntimeClass() == CListView )
			pView-&gt;SaveColumnWidths(); //soll ne memberfunc. von CListView sein
	}
...
	return CDocument::OnSaveDocument(lpszPathName);
}
</code></pre>
<p>kann mir jemand helfen? thx, sven</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/162952/spaltenbreite-speichern</link><generator>RSS for Node</generator><lastBuildDate>Thu, 30 Jul 2026 07:15:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/162952.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 24 Oct 2006 15:32:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to spaltenbreite speichern on Tue, 24 Oct 2006 15:32:13 GMT]]></title><description><![CDATA[<p>Hey,<br />
ich hab in nem mfc doc/view sdi prog mit mehreren views ne CListCtrl und möchte die spaltenbreiten speichern, wenn das doc gespeichert wird.<br />
wie stell ich das am besten an?</p>
<p>hab irgendwie so probiert:<br />
in der doc-klasse:</p>
<pre><code>BOOL CBspDoc::OnSaveDocument(LPCTSTR lpszPathName)
{
	POSITION pos = GetFirstViewPosition();
	CView* pView;
	while( pos ){
		pView = GetNextView( pos );

                //hier klappts nicht
		if( pView-&gt;GetRuntimeClass() == CListView )
			pView-&gt;SaveColumnWidths(); //soll ne memberfunc. von CListView sein
	}
...
	return CDocument::OnSaveDocument(lpszPathName);
}
</code></pre>
<p>kann mir jemand helfen? thx, sven</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1160442</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1160442</guid><dc:creator><![CDATA[svenol]]></dc:creator><pubDate>Tue, 24 Oct 2006 15:32:13 GMT</pubDate></item><item><title><![CDATA[Reply to spaltenbreite speichern on Tue, 24 Oct 2006 16:42:14 GMT]]></title><description><![CDATA[<p>Na hol dir nen pointer auf die Aktive View(falls es dein ListCtrl ist) ... geh die einzellnen headercontrols durch(for schleife) und hol dir jeweils das rect(und damit die breite <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="😉"
    /> ) und speicher die breite in eine datei die du am besten am anfang noch öffnest ... und am ende wieder schließen ... dann bei onnewdocument oder wo dus brauchst wieder die datei öffnen und die headercontrols wieder auf die gewünschte breite setzen ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1160511</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1160511</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Tue, 24 Oct 2006 16:42:14 GMT</pubDate></item><item><title><![CDATA[Reply to spaltenbreite speichern on Tue, 24 Oct 2006 16:56:46 GMT]]></title><description><![CDATA[<p>Also ich geh mal von der SDI aus... d.h. du hast eine View... habs nicht getestet sondern mal kurz zusammen geschrieben ... sry</p>
<pre><code class="language-cpp">BOOL CBspDoc::OnSaveDocument(LPCTSTR lpszPathName)
{
    POSITION  pos   = GetFirstViewPosition();
    CBspView* pView = reinterpret_cast&lt;CBspView*&gt;(GetNextView(pos));
    CHeaderCtrl* pHeaderCtrl = NULL;
    FILE*     pFile = NULL;
    CRect rcItem;

    if (pView == NULL)
        return FALSE;

    if ((pHeaderCtrl = pView-&gt;GetHeaderCtrl()) == NULL)
        return false;

    pFile = fopen(lpszPathName, &quot;wb&quot;);

    if (pFile == NULL)
        return FALSE;

    for (unsigned int n = 0; n &lt; (unsigned int)pHeaderCtrl-&gt;GetItemCount(); ++n)
    {
        pHeaderCtrl-&gt;GetItemRect(n, &amp;rcItem);
        fwrite(rcItem.Width(), sizeof(int), 1, pFile);          
    }

    fclose(pFile);

    return CDocument::OnSaveDocument(lpszPathName);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1160530</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1160530</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Tue, 24 Oct 2006 16:56:46 GMT</pubDate></item></channel></rss>