Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Versteckte Verzeichnisse nur im SelectDialog anzeigen (https://www.delphipraxis.net/80002-versteckte-verzeichnisse-nur-im-selectdialog-anzeigen.html)

himitsu 3. Nov 2006 14:23

Re: Versteckte Verzeichnisse nur im SelectDialog anzeigen
 
Ich weiß und wie gesagt, ich werd mal sehn, ob ich was finde.
Ich bin mir jedenfalls recht sicher, daß es 'ne Möglichkeit gibt da was zu machen.

Du kannst ja inzwischen auch mal seber nachsehen, ob nicht auch jetzt schon andere Ereignisse der BrowseCallbackProc übergeben werden.
(in die CASE ein ELSE anhängen und schauen ob/was dort ankommt)

TurboMartin 3. Nov 2006 16:20

Re: Versteckte Verzeichnisse nur im SelectDialog anzeigen
 
Wenn du die Flags $00000004 und $25 setzt, müsste esgehen. :zwinker: :gruebel:

RWarnecke 3. Nov 2006 18:48

Re: Versteckte Verzeichnisse nur im SelectDialog anzeigen
 
Wenn ich das Flag so ändere :
Delphi-Quellcode:
with BrowseInfo do
begin
  hwndOwner := hOwn;
  pidlRoot := RootItemIDList;
  pszDisplayName := Buffer;
  lpszTitle := PChar(Caption);
  ulFlags := $00000004 + uFlag;
  lpfn := @BrowseCallbackProc;
  lParam := Integer(PChar(Path));
end;
Das funktioniert aber trotzdem nicht oder habe ich das verkehrte Flags geändert.

TurboMartin 4. Nov 2006 13:58

Re: Versteckte Verzeichnisse nur im SelectDialog anzeigen
 
Du muss so aufrufen:
Delphi-Quellcode:
SelectDirectoryEx(Handle, Path, 'Select Directory Sample', 'C:\', $25 and $00000004);
:zwinker: :feuerchen:

RWarnecke 4. Nov 2006 21:00

Re: Versteckte Verzeichnisse nur im SelectDialog anzeigen
 
Ich habe das jetzt verschiedensten Flag-Einstellungen probiert von der BrowseInfo, nur leider funktioniert da garnichts von.

himitsu 6. Nov 2006 10:40

Re: Versteckte Verzeichnisse nur im SelectDialog anzeigen
 
Wie gesagt, im MSDN/PSDK sind keine Flags dafür aufgeführt, es scheint also keine Flags zu geben.

Hast du inzwischen mal geprüft, ob da noch andere Ereignisse ankommen?
Code:
function BrowseCallbackProc(hwnd: HWND; uMsg: UINT; lParam: Cardinal;
  lpData: Cardinal): Integer; stdcall;
var
  PathName: array[0..MAX_PATH] of Char;
begin
  case uMsg of
    BFFM_INITIALIZED:
      SendMessage(Hwnd, BFFM_SETSELECTION, Ord(True), Integer(lpData));
    BFFM_SELCHANGED:
      begin
        SHGetPathFromIDList(PItemIDList(lParam), @PathName);
        SendMessage(hwnd, BFFM_SETSTATUSTEXT, 0, Longint(PChar(@PathName)));
      end;
[b][color=#ff0000]   else
      begin
        ...
      end;[/color][/b]
  end;
  Result := 0;
end;

RWarnecke 6. Nov 2006 16:09

Re: Versteckte Verzeichnisse nur im SelectDialog anzeigen
 
Nee, da kommen keine anderen Ereignisse an. Es wird lediglich immer nur BFFM_INITIALIZED und BFFM_SELCHANGED ausgeführt. Ich habe das ganze nur so geprüft, dass ich mir eine kleine ShowMessage dort eingebaut habe. Danach habe ich es getestet und bei den Tests ist die Case-Anweisung nie in die Else-Schleife reingegangen.

himitsu 7. Nov 2006 12:10

Re: Versteckte Verzeichnisse nur im SelectDialog anzeigen
 
Tut mir Leid, aber ich hab mich getäucht.

Das Ereignis welches ich im Kopf hatte war MSDN-Library durchsuchenCDN_FILEOK und sowas wird (anscheinend) nur von MSDN-Library durchsuchenGetOpenFileName und MSDN-Library durchsuchenGetSaveFileName gesendet.



Man könnte höchstens versuchen die Nachrichten der ListView umzuleiten und die nötigen Ereignisse dort abzuarbeiten.


PS: Die DialogID der TreeView könnte irgendwo zwischen 14140 und 14155 liegen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:06 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz