Re[7]: Как привязать расширение файла к программе
От: maximak  
Дата: 05.10.06 12:46
Оценка:
Здравствуйте, febus, Вы писали:

F>Здравствуйте, 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").



F>Перед тем, как вы подеретесь:

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



F>Интерес представляет константа IDR_RegExtTYPE. Посмотри на нее в редакторе ресурсов.

F>Она имеет следуюший вид:
F>\nRegExt\nRegExt\nRegExt Files (*.abc)\n.abc\nRegExt.Document\nRegExt.Document

F>В данном случае расширение abc будет ассоциировано с твоей программой.

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

Тепрь ясно. Спасибо.

А убирать или добавлять "привязку" по ходу работы программы. можно только непосредствено чистя реестр или добавляя туда необходимую запись?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.