Frage

Ich verwende derzeit die TOpenTextFileDialog, da es die Codierungen Option, aber unter Vista erscheint es mit dem älteren offenen Dialog-Stil. Ich würde den neuen Stil offenen Dialog mag, aber mit einer Codierung Combobox, die ich mit benutzerdefinierten Zeichenkette füllen. Grundsätzlich mag ich den genauen offenen Dialog, Editor unter Vista zeigt. Natürlich auch Speichern-Dialog Ich brauche auch die entsprechenden.

Ich habe einige der Forschung getan und es scheint, dass die OFN_ENABLETEMPLATE Flagge des Vista gemeinsamen Dialog führt zurück zu den alten Stil fallen. Leider, das ist auch das Flag, das das TOpenTextFileDialog ändern Sie das Fenster, um die Kodierungen Combobox hinzufügen kann (wenn ich die Dinge richtig zu verstehen.)

Hat jemand einen Vorschlag, wie zu bekommen, was ich unter Vista will, aber noch haben sie unter XP arbeiten? Ich gehe davon aus, dass Windows 7 wird das gleiche Problem hat. Ich verwende D2009. Vielen Dank für alle Vorschläge oder helfen!

War es hilfreich?

Lösung

Mit Vista eine neue Art und Weise mit Dateidialogen Umgang eingeführt, um weitere Informationen, Google für die IFileDialog Schnittstelle oder einen Blick auf diese Blog-Post . Wie Sie selbst sagen, mit der OFN_ENABLETEMPLATE Flagge wird den Vista gemeinsamen Dialog zu dem alten Stil zurückzugreifen.

Mit Delphi 2007 und 2009 können Sie die TFileOpenDialog und TFileSaveDialog in der Vista Dialoge Komponenten Kategorie verwenden können. Um Ihre Anwendung kompatibel mit Pre-Vista Windows-Versionen machen sollten Sie die TOpenTextFileDialog für diejenigen halten verwenden, und versuchen Sie es zu Laufzeit, ob Sie auf Vista und können die neuen Dialoge verwenden:

if Win32MajorVersion >= 6 then begin
  // use TFileOpenDialog
  // ...
end else begin
  // use TOpenTextFileDialog
  // ...
end;

Jetzt müssen Sie nur die Anpassung an den Vista-Dialog hinzuzufügen. Der Blog-Eintrag zeigt, wie dies durch hinzufügen eines Handlers für OnExecute des Dialogs (weil zu der Zeit, als diese die IFileDialog Schnittstelle aufgerufen wird wurde bereits eingerichtet) zu tun, die Abfrage des Dialog Mitglieds des Dateidialogs für die IFileDialogCustomize Schnittstelle, und dies unter Verwendung hinzufügen die zusätzlichen Kontrollen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top