C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Сохранение отчета в файл, Звдать значок для файла
Pan-SQL
Отправлено: 31.05.2005, 14:29


Не зарегистрирован







Здравствуйте, можно ли при сохранении отчета в файл задать значок этому файлу. Заранее большое спасибо.
GIZMO
Отправлено: 01.06.2005, 09:04


Машинист паровоза

Группа: Участник
Сообщений: 174



QUOTE (Pan-SQL @ 31/05/2005, 14:29)
Здравствуйте, можно ли при сохранении отчета в файл задать значок этому файлу. Заранее большое спасибо.

Подробнее, чего хотим?
Pan-SQL
Отправлено: 04.06.2005, 09:58


Не зарегистрирован







Например файлы с расширением *.doc имеют значок "синюю букву W" , файлы с расширением *.xls имеют зеленый "X", я сохраняю файл *.qrp можно ли задать для файла значок своего приложения?
Rius
Отправлено: 04.06.2005, 17:38


Мастер участка

Группа: Участник
Сообщений: 321



Если такое расширение в системе не зарегистрировано, то можно.
GIZMO
Отправлено: 06.06.2005, 08:42


Машинист паровоза

Группа: Участник
Сообщений: 174



QUOTE (Pan-SQL @ 04/06/2005, 09:58)
Например файлы с расширением *.doc имеют значок "синюю букву W" , файлы с расширением *.xls имеют зеленый "X", я сохраняю файл *.qrp можно ли задать для файла значок своего приложения?

Вот примерно так делал в одной проге:

CODE

void __fastcall TMainForm::FormCreate(TObject *Sender)
{
   ...
   TRegistry *Reg;
   ...
   try {
       ...
       Reg = new TRegistry;                // создать объект Reg
       /**************** Регистрация иконки и расширения файла ***********/
       Reg->RootKey=HKEY_CLASSES_ROOT;
       Reg->OpenKey("\\.rmp",True);                  
       Reg->WriteString("", "mapedit_file");
       Reg->CloseKey();
       Reg->OpenKey("\\mapedit_file", True);
       Reg->WriteString("", "Файл картограммы");
       Reg->CloseKey();
       Reg->OpenKey("\\mapedit_file\\Shell\\Open\\Command", True);
       Reg->WriteString("",ParamStr(0)+" %1");
       Reg->CloseKey();
       Reg->OpenKey("\\mapedit_file\\DefaultIcon", True);
       Reg->WriteString("",ParamStr(0)+", 1");
       Reg->CloseKey();
       /****************************************************************/

вообщем найди в реестре любое расширение напр. *.txt и посмотри как для него сделано, запиши в реестр для своего.
Вариант 2 воспользоваться IExtractIcon

Вернуться в Вопросы программирования в C++Builder