Files
kompas3d-mcp/docs/Kompas3D_SDK/guides/ksdrawkompasgroup.md
T
mikhail e1337e4016 feat(sdk-docs): MD-база знаний SDK — в репозиторий; генератор и зеркало убраны
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>
2026-05-26 20:00:05 +03:00

64 lines
2.3 KiB
Markdown

---
title: "ksDrawKompasGroup - Отрисовать группу в виде слайда в окне"
type: guide
api: [api7]
tags: [guide, api7, ksdrawkompasgroup]
sources:
- ksdrawkompasgroup.html
---
*API экспортных функций > Функции работы с прикладной библиотекой  > Функции вывода на экран *
## ksDrawKompasGroup - Отрисовать группу в виде слайда в окне
Пример...
Аналог данной функции при использовании Automation - метод ksDocument2D::ksDrawKompasGroup.
Синтаксис:
```
int ksDrawKompasGroup ( void * HWindow, reference gr );
Входные параметры:
HWindow - дескриптор окна,
gr - указатель на группу.
```
Описание:
Функция выполняет отрисовку указанной группы в виде слайда в присланном окне.
## ksDrawKompasGroup - пример использования
//текущим документом должен быть графический документ
if ( ksGetCurrentDocument( 1 ) ) {
TWindow *st = new TWindow ( GetWindowPtr( ( HWND )GetHWindow( ) ), 0 );
st->Attr.X =300;
st->Attr.Y =30;
st->Attr.W =170;
st->Attr.H =160;
st->Create( ); //создали окно, в котором хотим отрисовать группу
//создаем группу с изображением прямоугольника
reference gr = NewGroup( 1 );
Mtr( 20, 15, 45, 1 );
LineSeg( -10, 0, 10, 0, 1 );
LineSeg( 10, 0, 10, 20, 1 );
LineSeg( 10, 20, -10, 20, 1 );
LineSeg( -10, 20, -10, 0, 1 );
DeleteMtr( );
EndGroup( );
//отрисовываем группу в окне st
ksDrawKompasGroup ( ( void * )st->HWindow, // несущее окно
gr ); //группа
//для красоты рисуем рамочку по периметру окна
TClientDC dc(*st );
HPEN hPen = ( HPEN ) ::SelectObject( dc, ::CreatePen( PS_SOLID,2,RGB( 0,0,255 ) ) );
dc.MoveTo( 0, 0 );
dc.LineTo( 170, 0 );
dc.LineTo( 170, 160 );
dc.LineTo( 0, 160 );
dc.LineTo( 0, 0 );
::DeleteObject( ::SelectObject( dc, hPen ) );
Message( "смотри" );
delete st;
}
else
Error ( "Графический документ не активен" );