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>
64 lines
2.3 KiB
Markdown
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 ( "Графический документ не активен" );
|