Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi SHBrowseForFolder - Wie ändert man das Window-Caption? (https://www.delphipraxis.net/36230-shbrowseforfolder-wie-aendert-man-das-window-caption.html)

GeorgPeifer 17. Dez 2004 13:29


SHBrowseForFolder - Wie ändert man das Window-Caption?
 
Ich benutzte eine Freeware Komponente namens TBrowseForFolderDialog, die intern mit SHBrowseForFolder arbeitet. Vorteil: Man kann ganz easy einen Startup-Folder an die Komponente übergeben und er zeigt alle verfügbaren Ordner incl. Netzwerk usw. an, auch wenn der Satrtup-Folder tiefer im Dateisystem ist.

Zwei Dinge würde ich aber gerne ändern:

1. Kann man irgendwie die Beschriftung von dem Fenster-Caption und den beiden Tasten ändern?

2. Kann man irgendwie Verzeichnisse disablen, die keine Dateien mit einer gewünschten Dateimaske enthalten? (so wie Windows das bei der Treibersuche macht, wenn man manuell nach INF-Dateien sucht)

Hat jemad eine Idee bzw. Anregung?

Gruß
Georg

Christian Seehase 17. Dez 2004 18:08

Re: SHBrowseForFolder - Wie ändert man das Window-Caption?
 
Moin Georg,

hast Du hier schon einmal nach Hier im Forum suchenSHBrowseForFolder gesucht?

MathiasSimmack 17. Dez 2004 19:06

Re: SHBrowseForFolder - Wie ändert man das Window-Caption?
 
Oder schau mal hier.

GeorgPeifer 20. Dez 2004 10:30

Re: SHBrowseForFolder - Wie ändert man das Window-Caption?
 
Danke schonmal für die Tipps. Die fldrbrowser-Unit sieht schonmal gut aus, wegen der Filterfunktion. Bei mir funktioniert das Teil leider nicht - Es öffnet sich gar kein Dialog. Intern ist pidlResult sofort auf Nil.

Mein Aufruf:

Code:
procedure TForm2.BitBtn1Click(Sender: TObject);    //Dialog für die Pfadsuche oeffnen
var fb:TFolderBrowser;
    hwndDlg: HWnd;
begin

  fb := TFolderBrowser.Create(hwndDlg,'Bitte wählen Sie einen Ordner',edit4.text,FALSE,FALSE );
  if(fb <> nil) then
  try
     if(fb.Execute) then begin
        Verzeichnis:=fb.SelectedItem;
        Edit4.Text:=Minimizename(Verzeichnis+'\',canvas,edit4.width);
        ComboBox1.Setfocus;
        if Verzeichnis [length(Verzeichnis)]<>'\' then Verzeichnis:=Verzeichnis+'\';
     end;
  finally
     fb.Free;
  end;
end;
Mein Hauptproblem is aber eh die Beschriftung der Tasten und des Fensters selber - und das WindowCaption ist eben nicht lpszTitle.

@Christian Seehase - ja, ich habe bereits die Suchfunktion mit SHBrowseForFolder benutzt, aber ich fand keine Lösung für mein Problem :(

GeorgPeifer 20. Dez 2004 13:55

Re: SHBrowseForFolder - Wie ändert man das Window-Caption?
 
Ich habe es hinbekommen :P

Die Unit ShBrowseU habe ich auf delphi.about.com gefunden - wen es interessiert: Download ShBrowseU

Da gibt es eine property Caption, die den Windows - Fenstertitel ändert.
Dann in TShBrowse.Callback direkt unter BFFM_INITIALIZED noch die Befehle zur Änderung Tasten Beschriftung einfügen:

Delphi-Quellcode:
       
   uses CommDlg;
   .
   .
   SetWindowText(GetDlgItem(FBrowseWinHnd, idOk), PChar('OK'));
   SetWindowText(GetDlgItem(FBrowseWinHnd, idCancel), PChar('Cancel'));


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:57 Uhr.

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