![]() |
Opendialog Dateinamenerweiterung ändern
Hallo Delphianer,
möchte mit einem Button in meinem Player Playlisten öffnen und Lieddateien. Für die Playlisten soll Multiselect := false; sein und für die Lieddateien Multiselect := true; Ich bekomms aber nicht gebacken, es während der Laufzeit umzustellen. Es gibt eine Möglichkeit mit OnTypeChange, aber das erwartet Parameter und ich hatte es mir mehr so vorgestellt:
Delphi-Quellcode:
Mir ist glaub ich klar, dass es mit dem OnTypeChange funktionieren muss, aber ich weiß nicht wie
if Opendialog1.Filterindex = 1 then Opendialog1.options[...]; // usw
Danke und Gruß Padavan |
Re: Opendialog Dateinamenerweiterung ändern
Hi padavan!
Versuch mal das hier, bei mir funzt es:
Delphi-Quellcode:
//Edit
procedure TForm1.OpenDialog1TypeChange(Sender: TObject);
begin with TOpenDialog(Sender) do begin if FilterIndex = 1 then Options := Options + [ofAllowMultiSelect] else Options := Options - [ofAllowMultiSelect]; end; end; Du könntest auch das 'with TOpenDialog(Sender) do' weglassen, aber falls du noch nen zweiten TOpenDialog hast, der exakt das gleiche Verhalten haben soll, brauchst du so nur bei dessen OnTypeChange auf das OnTypeChange von OpenDialog1 verweisen |
Re: Opendialog Dateinamenerweiterung ändern
Hallo Thanatos81,
danke erstmal für die schnelle Hilfe. Leider hat sich mein Problem nicht gelöst. Dein Ansatz konnte ich nur wie folgt umsetzen: Wenn ich den Opendialog aufrufe und das Dialogfenster erscheint und ich dann den Typ ändere wird ja auch eine Prozedur ausgelöst, aber die Eigenschaft Multiselect oder nicht Multiselect wird dann erst übernommen, wenn ich den Dialog schließe und erneut öffne. Ich bräuchte es aber so, dass die Eigenschaft übernommen wird, während der Dialog geöffnet ist. Vielen Dank schonmal |
Re: Opendialog Dateinamenerweiterung ändern
Zitat:
|
Re: Opendialog Dateinamenerweiterung ändern
So ist es, das hab ich alles versucht.
Tja, neu aufbauen, das ist wahrscheinlich der Knackpunkt, aber wie. Trotzdem danke! Gruß Padavan |
Re: Opendialog Dateinamenerweiterung ändern
wirklich niemand ne Idee?
:oops: |
Re: Opendialog Dateinamenerweiterung ändern
Wenn es wirklich wichtig ist, erstelle Dir eine eigene TOpenDialog-Komponente, bei der Du das nötige Verhalten einbauen kannst.
Ich habe gerade keine zur Hand, aber es gibt genug davon bei Torry. Oder - wenn Du den Delphi-Quellcode hast - eine neue Komponente auf Basis des vorhandenen Delphi-Codes machen. Tja, und dann mußt Du dich durch den entsprechenden Quellcode fieseln und die entsprechenden Teile abändern. Im Delphi-Dialog kommt das Flag "ofAllowMultiSelect" in DefineProperties und GetFileNames vor. Hier mußt Du also eingreifen. Viel Erfolg, Karl-Heinz Krönig |
Re: Opendialog Dateinamenerweiterung ändern
Dann werd ich das so machen müssen,
hätte aber nicht gedacht, dass das ein spezielles Problem ist, sondern eine "ganz normale" Sache. Muss mir halt mal anschauen, ob ich mich in dem OpenDialog Quelltext zurecht finde. Falls ich erfolgreich bin, werde ich´s hier veröffentlichen. Gruß Padavan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:12 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