![]() |
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 |
Re: SHBrowseForFolder - Wie ändert man das Window-Caption?
|
Re: SHBrowseForFolder - Wie ändert man das Window-Caption?
Oder schau mal
![]() |
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:
Mein Hauptproblem is aber eh die Beschriftung der Tasten und des Fensters selber - und das WindowCaption ist eben nicht lpszTitle.
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; @Christian Seehase - ja, ich habe bereits die Suchfunktion mit SHBrowseForFolder benutzt, aber ich fand keine Lösung für mein Problem :( |
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: ![]() 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 12:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz