Files
kompas3d-mcp/docs/Kompas3D_SDK/guides/ksinitfilepreviewfunc.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

81 lines
3.3 KiB
Markdown

---
title: "ksInitFilePreviewFunc - Инициализировать адрес пользовательской функции просмотра пользовательского файла"
type: guide
api: [api7]
tags: [guide, api7, ksinitfilepreviewfunc]
sources:
- ksinitfilepreviewfunc.html
---
*API экспортных функций > Функции работы с прикладной библиотекой  > Функции вывода на экран *
## ksInitFilePreviewFunc - Инициализировать адрес пользовательской функции просмотра пользовательского файла
Пример...
Аналог данной функции при использовании Automation - метод ksDocument2D::ksInitFilePreviewFunc.
Синтаксис:
```
int ksInitFilePreviewFunc ( FilePreviewFuncCallBack func );
Входные параметры:
func - пользовательская функция просмотра пользовательского файла.
Возвращаемое значение:
1 - в случае успешного завершения,
0 - в случае неудачи.
См. также:
FilePreviewFuncCallBack
```
Примечание:
1. Если func вернет 1 - функция отрисовала файл, если 0 - функция не отрисовала файл, файл будет отрисовывать КОМПАС.
2. При использовании Unicode следует использовать функцию ksInitFilePreviewFuncW.
## ksInitFilePreviewFunc - пример использования
//------------------------------------------------------------------------------
// функция обратной связи для отображения в окне предварительного просмотра
// файлов не документов КОМПАС
// ---
int far __export pascal MyPreviewFunc( HWND HWindow, // дескриптор окна просмотра
char * fileName ){ // файл, который нужно показать в окне просмотра
if ( fileName ) {
char *c = strrchr( fileName, '.' );
if ( c && strcmp( c, ".cdw" ) && strcmp( c, ".frw" ) && strcmp( c, ".spw" ) && strcmp( c, ".kdw" ) ) {
//если не документ КОМПАС отобразим имя файла
c = strrchr( fileName, '\\' );
if ( c ) {
TRect rect;
::GetClientRect( HWindow, &rect );
TWindow *staticW = new TWindow( HWindow );
TDC *dc = new TClientDC(*staticW );
dc->TextOut( 40, ( rect.bottom - rect.top )*0.5-10, c1, strlen( c1 ) );
delete dc;
delete staticW;
return 1;
}
}
}
return 0;
}
//------------------------------------------------------------------------------
//
// ---
extern "C" void far __export __pascal LibraryEntry( unsigned int com ){
switch ( com ) {
case 1: {
//установим адрес нашей функции просмотра
ksInitFilePreviewFunc( MyPreviewFunc );
char fileName[250];
//выберем файл
if( ( ksChoiceFile( 0,"Все файлы (*.* )|*.*|", fileName, 250, 1 ) ) != 0 )
Message( fileName );
// обнулим адрес
ksInitFilePreviewFunc( 0 );
// выберем файл
if( ( ksChoiceFile( 0,"Все файлы (*.* )|*.*|", fileName, 250, 1 ) ) != 0 )
Message( fileName );
break;
}
}
}