Announcement

Collapse
No announcement yet.

Callback-Funktion für SHBrowseForFolder

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Callback-Funktion für SHBrowseForFolder

    Hallo<br>
    ich möchte gern in einem Verzeichnisauswahl-Dialog den Titel des jeweils markierten Verzeichnis anzeigen.<br>Dazu muß dem BrowseInfo-Objekt eine Callback-Funktion zugewiesen werden.<br>
    Weiss jemand wie diese aussehen muss?

  • #2
    Hallo,

    in der Hilfe zum <i>Microsoft Platform SDK</i> wird die Callback-Funktion für das <i>lpfn</i>-Feld der <i>browseinfo</i>-Struktur folgendermaßen deklariert:
    <pre>
    int CALLBACK BrowseCallbackProc(
    HWND hwnd,
    UINT uMsg,
    LPARAM lParam,
    LPARAM lpData
    );
    </pre>
    Dort ist auch eine Aufstellung zu finden, wann Windows welche Daten in den einzelnen Parametern beim Aufruf der Callback-Funktion übergibt.

    Wenn man sich die Mühe der manuellen Umsetzun nach Object Pascal ersparen will, findet sich in <b>CodeCentral</b>unter der ID 14571 die Komponentensammlung <b>MLRVisualControls</b>. Dort ist in Form von <b>TBrowseForFolderDialog</b> bereits eine VCL-Komponente inklusive Callback-Anbindung zu finden.
    &#10

    Comment


    • #3
      Danke soweit, in der SDK-Hilfe hatte ich schon nachgeschaut. Ich müsste also eine Funktion mit gleichen Parametern schreiben. Bei mir war's aber an der Zuweisung gescheitert. Wie müsste die aussehen?<br>
      Browse.lpfn := ...

      Comment


      • #4
        Hallo,

        angenommen, die globale Callback-Funktion sieht so aus:
        <pre>
        function BrowseCallback(Wnd: HWND; uMsg: UINT; lParam, lpData: LPARAM): Integer stdcall;
        begin
        //
        end;
        <pre>
        Die Zuweisung erfolgt dann über
        <pre>
        ...
        bi.lpfn := BrowseCallback;
        ...
        </pre&gt

        Comment


        • #5
          Na klar, wieder mal den Wald vor lauter Bäumen nicht gesehen. So hatte ich´s auch probiert, allerdings als <b>procedure</b>.<br>Dank

          Comment

          Working...
          X