Re[6]: Как привязать расширение файла к программе
От: febus Германия  
Дата: 05.10.06 12:28
Оценка:
Здравствуйте, kan, Вы писали:
>> Большое спасибо, уже перевел, только я так и не понимаю, где же нужно
>> указать какие именно расширения мне нужны....
kan>Может просто надо научиться читать? Жмём ссылку CDocTemplate и читаем:
kan>

The document template also has strings containing additional information about its document type. These include the
kan>name of the document type (for example, "Worksheet") and the file extension (for example, ".xls").



Перед тем, как вы подеретесь:
В InitInstance есть такие строки:
pDocTemplate = new CMultiDocTemplate(IDR_RegExtTYPE, //У тебя она будет называться иначе
        RUNTIME_CLASS(CRegExtDoc),
        RUNTIME_CLASS(CChildFrame), // Benutzerspezifischer MDI-Child-Rahmen
        RUNTIME_CLASS(CRegExtView));



Интерес представляет константа IDR_RegExtTYPE. Посмотри на нее в редакторе ресурсов.
Она имеет следуюший вид:
\nRegExt\nRegExt\nRegExt Files (*.abc)\n.abc\nRegExt.Document\nRegExt.Document

В данном случае расширение abc будет ассоциировано с твоей программой.
Т.о. если у тебя несколько документов в программе, ты можешь присвоить себе несколько расширений.
При запуске программы, а именно при выполнении CWinApp::RegisterShellFileTypes
вызывается в функция CDocTemplate::GetDocString, которая и читает эти строки из ресурсов и регистрирует их в реестре.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.