http://msdn.microsoft.com/en-us/library/ms753303.aspx
| Цитата | 1) Создаешь файл с названием ну скажем embededfont.rc: 100 RCDATA "имя_файла_шрифта"
Вообще-то, есть спец. тип ресурса FONT, но у меня почему-то на него brcc-шка ругаецца... Может он устарел либо я чего-то не знаю...
2) Компилируешь embededfont.rc с помощью brcc32.exe (должен лежать в папке bin Builder'a/студии): brcc32.exe embededfont.rc
Должен получиться embededfont.res.
3) Открываешь код проекта, добавляешь туда строки аналогично мне: #include <vcl.h> #include "memory"//<= ++ Добавить ++ #pragma hdrstop
#pragma resource "embededfont.res"//<= ++ //--------------------------------------------------------------------------- USEFORM("Unit4.cpp", Form4); //--------------------------------------------------------------------------- WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { try { //Добавить от сих... const int IDF_EMBEDED = 100; HANDLE hEmbededFont = 0; DWORD dwFontsInstalled = 0; try { std::auto_ptr<TResourceStream> Resource(new TResourceStream((int)HInstance, IDF_EMBEDED, RT_RCDATA)); hEmbededFont = AddFontMemResourceEx(Resource->Memory, Resource->Size, 0, &dwFontsInstalled); } catch(EResNotFound&) { //просто задушить исключение }; //...и до сих
Application->Initialize(); SetApplicationMainFormOnTaskBar(Application, true); Application->CreateForm(__classid(TForm4), &Form4); Application->Run();
//в принципе, не обязательно - по завершении приложении система все равно освободит шрифт if (hEmbededFont) RemoveFontMemResourceEx(hEmbededFont); } catch (Exception &exception) { Application->ShowException(&exception); } catch (...) { try { throw Exception(""); } catch (Exception &exception) { Application->ShowException(&exception); } } return 0; }
|
гугли - темы с ресурсами никто не помнит =) |