Hallo himitsu,
Die Resursen des SaveDialog, OpenDialog usw. befinden sich in der Datei comdlg32.dll dort bekommst die ID's dann her.
Was den Fehler betrifft der dürfe nicht hier in den oberen Zeilen liegen:
SendDlgItemMessage(tmpDlg, 1152, WM_SETTEXT, 0, Integer(@t));
da die Datei nachher auch unter dem Dateinamen gespeichert wird der im Edit eingetragen wurde.
Ich würde sagen der Fehler müsste hier in diesen Zeilen sein:
Delphi-Quellcode:
SendDlgItemMessage(tmpDlg, 1136, CB_SELECTSTRING, -1, Integer(@t));
PostMessage(tmpDlg, WM_COMMAND, makewparam(1136,CBN_SELCHANGE), Integer(@tmpDlgI));
Der Eintrag DXT3 wird zwar in der Klappliste übernommen aber der Opendialog bemerkt die Änderung nicht und speichert unter dem Format was nach dem öffnen des Dlg's ausgewählt war.
Hatte es zwischenzeitlich anders gelöst und zwar mit Mouse Events. da ich eine menge Dateien in einem Anderem Dateiformat speichern musste. Nur sollte man dann die Maus nicht mehr bewegen am Bildschirm.
Wäre echt gut wenn mir jemand noch sagen könnte wo da der Fehler liegt.
Gruß Thomas