<?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[Verzeichnisstruktur in einem vorbereitetem Formular anzeigen lassen]]></title><description><![CDATA[<p>Hallo alle zusammen,</p>
<p>ich weiß, das Thema hatten wir schon, aber nicht in schon existiereneden Formular.<br />
In unterem Code versuche ich die Verzeichnisstruktur in meinem Formular anzeigen lassen. Ich habe ein Formular Form1 und ein unten eingefügten Standardbutton Button1.</p>
<p>In cpp:</p>
<pre><code class="language-cpp">int CALLBACK BrowsePathCallback(HWND hwnd,UINT msg,LPARAM lp,LPARAM pdata)
{
if (msg==BFFM_INITIALIZED)
SendMessage(hwnd,BFFM_SETSELECTION,TRUE,pdata);
return 0;
}
//---------------------------------------------------------------------------
bool selection(TForm* parent, char* wurzelordner)
{
        char* pPathBuffer = new char[MAX_PATH];
        strcpy(pPathBuffer, wurzelordner);
        BROWSEINFO mb;
        mb.hwndOwner = parent;
        mb.pidlRoot = NULL;
        mb.pszDisplayName = NULL;
        mb.lpszTitle = wurzelordner;
        mb.ulFlags    = BIF_RETURNONLYFSDIRS  | BIF_STATUSTEXT;
        mb.lpfn       = BrowsePathCallback;
        mb.lParam     = (LPARAM)pPathBuffer;

        LPITEMIDLIST ItemIDList = SHBrowseForFolder(&amp;mb);

      if(ItemIDList != NULL)
        {
        char strPath[MAX_PATH];
        SHGetPathFromIDList(ItemIDList,strPath);

         //Hier kan man noch was schreiben...
         return true;
        }

  return false;
}
</code></pre>
<p>Jetzt Aufruf über Button1:</p>
<pre><code class="language-cpp">void __fastcall TForm1::Button1Click(TObject *Sender)
{
selection(Form1,&quot;C:\\0&quot;);//Form1 als übergeordneter Objekt, wirzelverzeichnis ist Laufwerk C:
}
</code></pre>
<p>Compiliert wird das zwar, aber nach dem Buttonclick() gibts keinen sichtbaren Erfolg.</p>
<p>Kann jemand mir helfen? Wo ist mein Fehler? Denke ich überhaupt richtig?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/161013/verzeichnisstruktur-in-einem-vorbereitetem-formular-anzeigen-lassen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 11 Aug 2026 08:40:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/161013.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 02 Oct 2006 12:35:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verzeichnisstruktur in einem vorbereitetem Formular anzeigen lassen on Mon, 02 Oct 2006 12:35:47 GMT]]></title><description><![CDATA[<p>Hallo alle zusammen,</p>
<p>ich weiß, das Thema hatten wir schon, aber nicht in schon existiereneden Formular.<br />
In unterem Code versuche ich die Verzeichnisstruktur in meinem Formular anzeigen lassen. Ich habe ein Formular Form1 und ein unten eingefügten Standardbutton Button1.</p>
<p>In cpp:</p>
<pre><code class="language-cpp">int CALLBACK BrowsePathCallback(HWND hwnd,UINT msg,LPARAM lp,LPARAM pdata)
{
if (msg==BFFM_INITIALIZED)
SendMessage(hwnd,BFFM_SETSELECTION,TRUE,pdata);
return 0;
}
//---------------------------------------------------------------------------
bool selection(TForm* parent, char* wurzelordner)
{
        char* pPathBuffer = new char[MAX_PATH];
        strcpy(pPathBuffer, wurzelordner);
        BROWSEINFO mb;
        mb.hwndOwner = parent;
        mb.pidlRoot = NULL;
        mb.pszDisplayName = NULL;
        mb.lpszTitle = wurzelordner;
        mb.ulFlags    = BIF_RETURNONLYFSDIRS  | BIF_STATUSTEXT;
        mb.lpfn       = BrowsePathCallback;
        mb.lParam     = (LPARAM)pPathBuffer;

        LPITEMIDLIST ItemIDList = SHBrowseForFolder(&amp;mb);

      if(ItemIDList != NULL)
        {
        char strPath[MAX_PATH];
        SHGetPathFromIDList(ItemIDList,strPath);

         //Hier kan man noch was schreiben...
         return true;
        }

  return false;
}
</code></pre>
<p>Jetzt Aufruf über Button1:</p>
<pre><code class="language-cpp">void __fastcall TForm1::Button1Click(TObject *Sender)
{
selection(Form1,&quot;C:\\0&quot;);//Form1 als übergeordneter Objekt, wirzelverzeichnis ist Laufwerk C:
}
</code></pre>
<p>Compiliert wird das zwar, aber nach dem Buttonclick() gibts keinen sichtbaren Erfolg.</p>
<p>Kann jemand mir helfen? Wo ist mein Fehler? Denke ich überhaupt richtig?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1147959</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1147959</guid><dc:creator><![CDATA[aesse]]></dc:creator><pubDate>Mon, 02 Oct 2006 12:35:47 GMT</pubDate></item><item><title><![CDATA[Reply to Verzeichnisstruktur in einem vorbereitetem Formular anzeigen lassen on Mon, 02 Oct 2006 12:45:10 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>hwndOwner verlangt ein Handle auf das Ownerfenster. Probiers mal damit</p>
<pre><code class="language-cpp">mb.hwndOwner = parent-&gt;Handle;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1147969</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1147969</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Mon, 02 Oct 2006 12:45:10 GMT</pubDate></item><item><title><![CDATA[Reply to Verzeichnisstruktur in einem vorbereitetem Formular anzeigen lassen on Mon, 02 Oct 2006 12:59:33 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>Vielleicht liegt es daran.</p>
<pre><code class="language-cpp">bool selection(TForm* parent, AnsiString wurzelordner) //char* wurzelordner)
{
        char* pPathBuffer = new char[MAX_PATH];
        strcpy(pPathBuffer, wurzelordner.c_str());     //wurzelordner);
</code></pre>
<p>unverbindlich!</p>
<p>Grüsse</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1147985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1147985</guid><dc:creator><![CDATA[dlonra]]></dc:creator><pubDate>Mon, 02 Oct 2006 12:59:33 GMT</pubDate></item><item><title><![CDATA[Reply to Verzeichnisstruktur in einem vorbereitetem Formular anzeigen lassen on Mon, 02 Oct 2006 13:33:33 GMT]]></title><description><![CDATA[<p>Vielen Dank Braunstein,</p>
<p>es funzt super!<br />
Hatte das Handle übersehen. Dennnoch habe ich trotzdem eine Frage:<br />
Wie kann ich die Verzeichnisstruktur in meinem existierendem Formular Form1 darstellen, nicht im extra Fenster? Welche Methoden gibts dafür?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148014</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148014</guid><dc:creator><![CDATA[aesse]]></dc:creator><pubDate>Mon, 02 Oct 2006 13:33:33 GMT</pubDate></item><item><title><![CDATA[Reply to Verzeichnisstruktur in einem vorbereitetem Formular anzeigen lassen on Mon, 02 Oct 2006 13:37:28 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>dazu brauchst du <em>FindFirst/FindNext</em>, um einzeln alle Verzeichnisse in zum Beispiel in eine TListBox einzutragen. Beispiele dazu findest du in der BCB-Hilfe und hier im Forum.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148016</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148016</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Mon, 02 Oct 2006 13:37:28 GMT</pubDate></item><item><title><![CDATA[Reply to Verzeichnisstruktur in einem vorbereitetem Formular anzeigen lassen on Mon, 02 Oct 2006 13:38:12 GMT]]></title><description><![CDATA[<p>Du könntest dir das selber zusammenbasteln. Einfach die Verzeichnisstruktur irgendwie einlesen (FindFirst/FindNext oder was aus boost::filesystem) und dann in einem TreeView darstellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148017</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Mon, 02 Oct 2006 13:38:12 GMT</pubDate></item><item><title><![CDATA[Reply to Verzeichnisstruktur in einem vorbereitetem Formular anzeigen lassen on Mon, 02 Oct 2006 14:04:15 GMT]]></title><description><![CDATA[<p>Danke allen für Eure Hilfe!</p>
<p>Ich werds versuchen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148034</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148034</guid><dc:creator><![CDATA[aesse]]></dc:creator><pubDate>Mon, 02 Oct 2006 14:04:15 GMT</pubDate></item></channel></rss>