e1337e4016
docs/Kompas3D_SDK/ становится каноническим источником справки КОМПАС SDK и включается в репозиторий (2491 файл, ~14 МБ). HTML-зеркало docs/KOMPAS_SDK_ru-RU/ (~1.4 ГБ, © АСКОН) и генератор tools/build_kompas3d_sdk.py больше не нужны — регенерация не предполагается. - .gitignore: MD-база разблокирована; зеркало остаётся проигнорированным (safety-net на случай повторной локальной выгрузки). - CLAUDE.md / SKILL.md: убраны упоминания регенерации и зеркала. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
54 lines
1.7 KiB
Markdown
54 lines
1.7 KiB
Markdown
---
|
|
title: "Пример инсталляции шрифта хот-точек в Компас"
|
|
type: guide
|
|
api: [api7]
|
|
tags: [guide, api7, hot]
|
|
sources:
|
|
- hot_points_example.html
|
|
---
|
|
|
|
class FontInstaller
|
|
{
|
|
HANDLE m_hFont = {};
|
|
public:
|
|
FontInstaller( HINSTANCE module, LPWSTR lpName );
|
|
~FontInstaller();
|
|
};
|
|
//------------------------------------------------------------------------------
|
|
///
|
|
// ---
|
|
FontInstaller::FontInstaller( HINSTANCE module, LPWSTR lpName )
|
|
{
|
|
PRECONDITION( module );
|
|
HRSRC hrc = ::FindResource( module, lpName, RT_RCDATA );
|
|
PRECONDITION( hrc );
|
|
DWORD dwrclen = ::SizeofResource( module, hrc );
|
|
PRECONDITION( dwrclen );
|
|
HGLOBAL hrcglobal = ::LoadResource( module, hrc );
|
|
PRECONDITION( hrcglobal );
|
|
void * pvrc = ::LockResource( hrcglobal );
|
|
PRECONDITION( pvrc );
|
|
DWORD fontsCount = 0;
|
|
m_hFont = ::AddFontMemResourceEx( pvrc, dwrclen, 0, &fontsCount );
|
|
PRECONDITION( m_hFont && fontsCount == 1 );
|
|
}
|
|
//------------------------------------------------------------------------------
|
|
///
|
|
// ---
|
|
FontInstaller::~FontInstaller()
|
|
{
|
|
::RemoveFontMemResourceEx( m_hFont );
|
|
}
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Класс устанавливает хот-точечный шрифт.
|
|
//
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
class HotPointsFontInstaller : public FontInstaller
|
|
{
|
|
public:
|
|
HotPointsFontInstaller()
|
|
: FontInstaller( module, MAKEINTRESOURCE( HOT_POINTS_FONT ) ){};
|
|
};
|
|
Библиотека по первому требованию должна зарегистрировать шрифт и разрегистрировать его при отключении библиотеки.
|