Files
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

5.0 KiB
Raw Permalink Blame History

title, type, api, tags, sources
title type api tags sources
ksDrawSlideFromFile - Отрисовать слайд в окне из текстового файла, содержащего блок RCDATA guide
api7
guide
api7
ksdrawslidefromfile
ksdrawslidefromfile.html

*API экспортных функций > Функции работы с прикладной библиотекой  > Функции вывода на экран *

ksDrawSlideFromFile - Отрисовать слайд в окне из текстового файла, содержащего блок RCDATA

Пример... Аналог данной функции при использовании Automation - метод KompasObject::ksDrawSlideFromFile. Синтаксис:

int ksDrawSlideFromFile ( void *Hwindow, char * fileName );
Входной параметр:
Hwindow    - дескриптор окна,
fileName    - полное имя файла.
Возвращаемое значение:
1    - в случае удачного завершения,
0    - в случае неудачи.

Примечание:

  1. Функция предназначена для отладки слайдов. Позволяет просмотреть отредактированный слайд в окне диалога без перетрансляции тестовой библиотеки.
  2. При использовании Unicode следует использовать функцию ksDrawSlideFromFileW.

ksDrawSlideFromFile - Пример использования

//фрагмент из файла .rc 1000 DIALOG 84, 66, 204, 133 EXSTYLE WS_EX_DLGMODALFRAME STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "" FONT 8, "MS Sans Serif" { CONTROL "OK", IDOK, "BUTTON", BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 111, 50, 14 CONTROL "Cancel", IDCANCEL, "BUTTON", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 72, 111, 50, 14 CONTROL "", IDD_SHOW, "static", SS_BLACKFRAME | WS_CHILD | WS_VISIBLE | WS_BORDER, 7, 3, 105, 97 } class TShowStatic; //Описание класса, обслуживающего диалог class TModDialog :public TDialog { public: UINT IdSlide; TShowStatic* Show; TModDialog ( TWindow *ptParent ); UINT GetIdSlide( ) { return IdSlide; }; }; //Описание класса обслуживающего элемент вывода слайда class TShowStatic : public TStatic { public: TShowStatic ( TModDialog * ptParent, int resourceId ); protected : void EvPaint( ); DECLARE_RESPONSE_TABLE( TShowStatic ); }; DEFINE_RESPONSE_TABLE1( TShowStatic,TStatic ) EV_WM_PAINT, END_RESPONSE_TABLE; //--------------------------------------------------------------------------

// //--------------------------------------------------------------------------

TShowStatic :: TShowStatic ( TModDialog *ptParent, int resourceId ): TStatic( ptParent, resourceId ) { SetBkgndColor( GetSysColor( COLOR_APPWORKSPACE ) ); } //--------------------------------------------------------------------------

// //--------------------------------------------------------------------------

void TShowStatic ::EvPaint( ) { TStatic::EvPaint( ); TModDialog * d = TYPESAFE_DOWNCAST( Parent, TModDialog ); if ( d ) // DrawSlide ( ( void * ) HWindow, d->GetIdSlide( ) ); // DrawBitmap ( ( void * ) HWindow, d->GetIdSlide( ) ); //в файле "c:\libtest\1.rc" - находится отлаживаемый слайд ksDrawSlideFromFile ( ( void * ) HWindow, "c:\libtest\1.rc" ); } //--------------------------------------------------------------------------

// //--------------------------------------------------------------------------

TModDialog :: TModDialog ( TWindow *ptParent )
TDialog( ptParent, 1000, module ){ IdSlide = 100; Show=new TShowStatic( this,IDD_SHOW ); } //--------------------------------------------------------------------------

// Функция, вызывающая диалог с отрисовкой слайда или битмапа //--------------------------------------------------------------------------

void TestShowDialog( ) { TModDialog *pDialog; pDialog = new TModDialog( GetWindowPtr( ( HWND )GetHWindow( ) ) ); pDialog->Execute( ); delete pDialog; } //файл 1.rc 100 RCDATA { GB, 168, 158, SC, 1, LS, 0, 1, LN, 69, 57, 69, 26, LN, 69, 26, 74, 18, LN, 74, 18, 101, 18, LN, 101, 18, 105, 26, LN, 105, 26, 105, 57, LN, 74, 37, 101, 37, AR1, 114, 57, 45, 74, 37, 69, 57, AR1, 61, 57, 44, 105, 57, 101, 37, AR1, 80, 28, 11, 69, 28, 74, 37, AR1, 94, 28, 11, 101, 37, 105, 28, LN, 69, 57, 69, 88, LN, 69, 88, 74, 96, LN, 74, 96, 101, 96, LN, 101, 96, 105, 88, LN, 105, 88, 105, 57, LN, 74, 77, 101, 77, AR1, 114, 57, 45, 69, 57, 74, 77, AR1, 62, 57, 44, 103, 77, 105, 57, AR1, 80, 86, 11, 74, 77, 69, 86, AR1, 95, 86, 11, 106, 86, 100, 76, SC, 0, LS, 2, 1, LN, 62, 57, 112, 57, SC, 0, TS, 0, MA, 45, 112, TX, "ГОСТ 15524-70\0" MA, 37, 127, TX, "Класс точности А\0" MA, 37, 142, TX, " гайки высокие\0" END_SLIDE }