Здравствуйте, 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, которая и читает эти строки из ресурсов и регистрирует их в реестре.
Тепрь ясно. Спасибо.
А убирать или добавлять "привязку" по ходу работы программы. можно только непосредствено чистя реестр или добавляя туда необходимую запись?