Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

SaveDialog - как "на лету" изменять расширение файла?

415
08 сентября 2003 года
SLA
274 / / 08.08.2003
Нужно чтобы при изменении типа файла (через dropdown list в SaveAs диалоге) менялось расширение выбранного файла.
Я пробовал сделать функцию, перехватывающую OnTypeChange, в которой пробовал менять SaveDialog1->FileName, но это не работает. (Хотя зачем же тогда существует OnTypeChange?)

Может кто-нибудь знает как это сделать?
.
293
09 сентября 2003 года
SEDEGOFF
586 / / 06.10.2002
Чето я не понял
У тебя открыт диалог - в нем ты меняешь тип файла... и у выбранного файла менялось расшерение - а зачем так сложно
415
10 сентября 2003 года
SLA
274 / / 08.08.2003
Цитата:
Originally posted by SEDEGOFF
Чето я не понял
У тебя открыт диалог - в нем ты меняешь тип файла... и у выбранного файла менялось расшерение - а зачем так сложно



Нет, здесь нет ничего сложного. Посмотри как это работает, например, в WordPad:

Диалог Save As:

 
Код:
File name:    [Document.rtf            ]
Save as type: [Rich Text Format (RTF)  ]

Меняем тип файла (с помощью dropdown list) на "Text Document":

 
Код:
File name:    [Document.txt            ]       <-- Меняется автоматически
Save as type: [Text Document           ]

И имя документа само изменилось с "Document.rtf" на "Document.txt".
Так как же это делается?
295
10 сентября 2003 года
gray_k
356 / / 20.12.1999
Цитата:
Originally posted by SLA


Нет, здесь нет ничего сложного. Посмотри как это работает, например, в WordPad:

Диалог Save As:

 
Код:
File name:    [Document.rtf            ]
Save as type: [Rich Text Format (RTF)  ]

Меняем тип файла (с помощью dropdown list) на "Text Document":

 
Код:
File name:    [Document.txt            ]       <-- Меняется автоматически
Save as type: [Text Document           ]

И имя документа само изменилось с "Document.rtf" на "Document.txt".
Так как же это делается?


Свойство FilterIndex у SaveDialog

415
18 сентября 2003 года
SLA
274 / / 08.08.2003
Цитата:
Originally posted by gray_k

Свойство FilterIndex у SaveDialog



Нет, дело здесь не только в FilterIndex. Но я уже нашел решение. :)

Если кому интересно, то делается это вот так:

Код:
void __fastcall TForm1::SaveDialog1TypeChange(TObject *Sender)
{
char szFileName[MAX_PATH];
const HWND hSaveDlg = GetParent(SaveDialog1->Handle);
const HWND hFileEdit = GetDlgItem(hSaveDlg, 0x0480);
GetWindowText(hFileEdit, szFileName, MAX_PATH);
AnsiString anFileName = (AnsiString)szFileName;
if (SaveDialog1->FilterIndex==1)
    anFileName = ChangeFileExt(anFileName,".rtf");
else    anFileName = ChangeFileExt(anFileName,".txt");
SetWindowText(hFileEdit, anFileName.c_str());
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог