I'm sorry, Tom, for being bothersome and incomprehensible. But so far not really get what I would like. Below is a piece of source text that displays the window shown above. I would like to record an image of this window as a high quality file (with high resolution and low compression). The view of the function itself is below. And the execution error too
Code: Select all
/* ----- Create browse-1 ----- */
bScale := {|| Gr_OpSc->(DC_SetScope(0,Opis_Sc->KOD_OpSc)), ;
Gr_OpSc->(DC_SetScope(1,Opis_Sc->KOD_OpSc)), ;
Gr_OpSc->(DC_DbGoTop()), ;
oBrowGrSc:refreshAll() }
@ 1, 0 DCBROWSE oBrowScale ALIAS 'Opis_Sc' SIZE 48,26 ;
EDIT xbeBRW_ItemSelected MODE DCGUI_BROWSE_EDITDOWN ; // Редактирование БД Opis_Sc
NOSOFTTRACK ;
SCOPE ;
ITEMMARKED {|| Eval(bScale), ;
DC_GetRefresh(GetList,, ;
DCGETREFRESH_TYPE_EXCLUDE,{GETLIST_BROWSE}) }
DCSETPARENT oBrowScale
DCBROWSECOL FIELD Opis_Sc->KOD_OpSc HEADER L('Код шкалы' ) WIDTH 1 PROTECT {|| .T. }
DCBROWSECOL FIELD Opis_Sc->NAME_OpSc HEADER L('Наименование описательной шкалы') WIDTH 22
DCBROWSECOL FIELD Opis_Sc->INT_INF HEADER L('Информативность' ) WIDTH 1
/* ----- Create browse-2 ----- */
DCSETPARENT TO
@ 1,50 DCBROWSE oBrowGrSc ALIAS 'Gr_OpSc' SIZE 82,26 ;
EDIT xbeBRW_ItemSelected MODE DCGUI_BROWSE_EDITDOWN ;
NOSOFTTRACK ;
SCOPE ;
ITEMMARKED bItems;
COLOR {||IIF(2*INT(Gr_OpSc->KOD_GrOS/2)==Gr_OpSc->KOD_GrOS,nil,{nil,GraMakeRGBColor({230,252,213})})} // Вывод строки цветом RGB
*********************
* mPosR1 = AT('{', mScName)+1
* mPosR2 = mPosR1+2
* mPosG1 = mPosR2+2
* mPosG2 = mPosG1+2
* mPosB1 = mPosG2+2
* mPosB2 = mPosB1+2
* mRed = VAL(SUBSTR(mScName, mPosR1, mPosR2-mPosR1+1))
* mGreen = VAL(SUBSTR(mScName, mPosG1, mPosG2-mPosG1+1))
* mBlue = VAL(SUBSTR(mScName, mPosB1, mPosB2-mPosB1+1))
*********************
* mPosR1 = AT('{', Gr_OpSc->NAME_GrOS)+1
* mPosR2 = AT('{', Gr_OpSc->NAME_GrOS)+3
* mPosG1 = AT('{', Gr_OpSc->NAME_GrOS)+5
* mPosG2 = AT('{', Gr_OpSc->NAME_GrOS)+7
* mPosB1 = AT('{', Gr_OpSc->NAME_GrOS)+9
* mPosB2 = AT('{', Gr_OpSc->NAME_GrOS)+11
* mRed = VAL(SUBSTR(Gr_OpSc->NAME_GrOS, AT('{', Gr_OpSc->NAME_GrOS)+1, AT('{', Gr_OpSc->NAME_GrOS)+ 3-AT('{', Gr_OpSc->NAME_GrOS)+1+1))
* mGreen = VAL(SUBSTR(Gr_OpSc->NAME_GrOS, AT('{', Gr_OpSc->NAME_GrOS)+5, AT('{', Gr_OpSc->NAME_GrOS)+ 7-AT('{', Gr_OpSc->NAME_GrOS)+5+1))
* mBlue = VAL(SUBSTR(Gr_OpSc->NAME_GrOS, AT('{', Gr_OpSc->NAME_GrOS)+9, AT('{', Gr_OpSc->NAME_GrOS)+11-AT('{', Gr_OpSc->NAME_GrOS)+9+1))
*********************
DCSETPARENT oBrowGrSc
DCBROWSECOL FIELD Gr_OpSc->KOD_GrOS HEADER L('Код градации' ) WIDTH 1 PROTECT {|| .T. };
COLOR {||IIF(AT('SPECTRINTERV:',Opis_Sc->NAME_OpSc)=0,nil,{nil,GraMakeRGBColor({VAL(SUBSTR(Gr_OpSc->NAME_GrOS, AT('{', Gr_OpSc->NAME_GrOS)+1, AT('{', Gr_OpSc->NAME_GrOS)+ 3-AT('{', Gr_OpSc->NAME_GrOS)+1+1)),VAL(SUBSTR(Gr_OpSc->NAME_GrOS, AT('{', Gr_OpSc->NAME_GrOS)+5, AT('{', Gr_OpSc->NAME_GrOS)+ 7-AT('{', Gr_OpSc->NAME_GrOS)+5+1)),VAL(SUBSTR(Gr_OpSc->NAME_GrOS, AT('{', Gr_OpSc->NAME_GrOS)+9, AT('{', Gr_OpSc->NAME_GrOS)+11-AT('{', Gr_OpSc->NAME_GrOS)+9+1))})})} // Вывод поля цветом RGB
DCBROWSECOL FIELD Gr_OpSc->NAME_GrOS HEADER L('Наименование градации описательной шкалы') WIDTH 42
DCBROWSECOL FIELD Gr_OpSc->INT_INF HEADER L('Информативность' ) WIDTH 1
DCBROWSECOL FIELD Gr_OpSc->ABS HEADER L('N объектов об.выб.(абс)' ) WIDTH 3
DCBROWSECOL FIELD Gr_OpSc->PERC_FIZ HEADER L('N объектов об.выб.(%)' ) WIDTH 3
DCGETOPTIONS SAYFONT '10.Helv Bold' TABSTOP AUTORESIZE
cTitle = L('2.2. Описательные шкалы и градации. Текущая модель: "')+UPPER(Ar_Model[M_CurrInf])+'"'
DCREAD GUI ;
FIT ;
OPTIONS GetOptions ;
MODAL ;
TITLE cTitle ;
EVAL {|o|SetAppFocus(oBrowScale:GetColumn(1))}
SaveScreenAsFile(oBrowScale, 'F2_2.jpg')
[/size]
Code: Select all
FUNCTION SaveScreenAsFile (oWind, cFileName) // hand over filename you want to use
LOCAL oClipBoard, oPicture, nCompression := 5, nResolution := 600
DC_Scrn2Clipboard (oWind)
oClipBoard := XbpClipBoard():new():create()
oClipBoard:open()
oPicture := oClipBoard:GetBuffer(XBPCLPBRD_BITMAP)
oClipBoard:Close()
oPicture:SaveFile(cFileName,XBPBMP_FORMAT_JPG,nCompression)
RETURN File(cFileName)
[/size]