--- title: "ksDrawSlideFromFile - Отрисовать слайд в окне из текстового файла, содержащего блок RCDATA" type: guide api: [api7] tags: [guide, api7, ksdrawslidefromfile] sources: - 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 }