|
| постоянный участник
|
Пост N: 388
Зарегистрирован: 06.02.07
|
|
Отправлено: 20.06.13 13:48. Заголовок: azoo , попробую "..
azoo , попробую "втупую", хотя бы "для ориентировки" перевести про параметры и методы Win_prn (из win_tprn.prg). Кто "попродвинутее" - поредактируйте, если есть желание и надобность. Авось кому пригодится ;) - - - - - win_Prn() сделан для простой эмуляции печати из Clipper на матричном принтере. При печати на матричном принтере единицами измерения являются CPI (символов на дюйм) и LPI (строк на дюйм). Даже если для win_prn() параметр "Mapping Mode" равен WIN_MM_TEXT, то для ::SetFont() значения параметра xWidth все равно должны указываться в CPI, а не в пикселах. По умолчанию значение ::LineHeight равно 6 строкам на дюйм, поэтому ::NewLine() работает как перевод строки ("Line Feed") на матричных принтерах. Если вам это не подходит, переопределите то, что вам нужно, так, как вам нужно. METHOD New( cPrinter ) Создает новый объект класса Параметры: - cPrinter - строка, определяющая принтер, на который пойдет вывод; по умолчанию - текущий принтер METHOD Create() Создает DC (? как перевести?) и устанавливает шрифт "Courier New", ориентацию (Orientation), количество копий (Copies), лоток (так ли?) принтера (Bin#) Параметров нет. Примечание: Create() (и StartDoc() ) должны вызываться до начала печати. METHOD Destroy() Вызывает функцию EndDoc() - восстанавливает шрифт по умолчанию, удаляет DC. DESTRUCTOR Destruct() METHOD StartDoc( cDocName ) Начало печати документа. Вызывает StartPage() Параметры: - cDocName - строка, имя документа METHOD EndDoc( lAbortDoc ) Конец печати документа. Вызывает EndPage(), если lAbortDoc не равно .T. METHOD StartPage() Начало новой страницы. Параметров нет. METHOD EndPage( lStartNewPage ) Конец страницы. Параметры: - lStartNewPage ; если равно .T., то вызывается StartPage() для перехода на новую страницу. METHOD NewLine() Перевод на следующую строку. METHOD NewPage( lDelay ) Начало печати новой страницы. Параметры: - lDelay ; если равно .T., то новая страница создается не немедленно, а непосредственно перед первым выводом на печать на нее METHOD CheckPage() (проверяет страницу?) METHOD GetDocumentProperties() Получить свойства документа. Возвращает win_GetDocumentProperties( ::PrinterName, @::FormType, @::Landscape, @::Copies, @::BinNumber, @::fDuplexType, @::fPrintQuality, @::PaperLength, @::PaperWidth ) METHOD SetFont( cFontName, nPointSize, xWidth, nBold, lUnderline, lItalic, nCharSet, lManualSize ) Установка шрифта. - cFontName - строка, название шрифта - nPointSize - плотность по высоте (строк на дюйм, LPI) - xWidth - плотность по ширине (символов на дюйм, CPI) - nBold - полужирный (0 или 1) (? почему не "logical"?) - lUnderline - подчеркнутый - lItalic - курсив - nCharSet - номер используемого набора символов - lManualSize - установка размера вручную Примечание: xWidth указывается в символах на дюйм ("CharactersPerInch") _или_ (для точного указания вручную) как массив { nMul, nDiv } который вычисляет значение "CharactersPerInch" (например, для "Condensed" - 16.67 симв./дюйм массив == { 3,-50 } ) _или_ ZERO ( 0 ) для установки ширины шрифта по умолчанию для nPointSize; если xWidth (или nDiv) < 0 , то эмулируется шрифт Fixed METHOD SetDefaultFont() Установить шрифт по умолчанию. Параметров нет. METHOD GetFonts() Возвращает массив { "FontName", lFixed, lTrueType, nCharSetRequired } METHOD Bold( nWeight ) METHOD UnderLine( lUnderline ) METHOD Italic( lItalic ) METHOD SetDuplexType( nDuplexType ) // Get/Set current Duplexmode METHOD SetPrintQuality( nPrintQuality ) // Get/Set Printquality METHOD CharSet( nCharSet ) METHOD SetPos( nPosX, nPosY ) !!! Значения указывать в порядке ( Col, Row ) - "позиция в строке, за ней строка, - а НЕ "строка, за ней позиция в строке" ( Row, Col ) METHOD SetColor( nClrText, nClrPane, nAlign ) METHOD SetBkMode( nMode ) // Set Background mode: WIN_TRANSPARENT or WIN_OPAQUE METHOD TextOut( cString, lNewLine, lUpdatePosX, nAlign ) // nAlign : WIN_TA_* METHOD TextOutAt( nPosX, nPosY, cString, lNewLine, lUpdatePosX, nAlign ) !!! Значения указывать в порядке ( Col, Row ) - "позиция в строке, за ней строка, - а НЕ "строка, за ней позиция в строке" ( Row, Col ) METHOD SetPen( nStyle, nWidth, nColor ) METHOD Line( nX1, nY1, nX2, nY2 ) METHOD Box( nX1, nY1, nX2, nY2, nWidth, nHeight ) METHOD Arc( nX1, nY1, nX2, nY2 ) METHOD Ellipse( nX1, nY1, nX2, nY2 ) METHOD FillRect( nX1, nY1, nX2, nY2, nColor ) METHOD GetCharWidth() METHOD GetCharHeight() METHOD GetTextWidth( cString ) METHOD GetTextHeight( cString ) METHOD DrawBitmap( oBmp ) /* Clipper compatible functions. */ METHOD SetPRC( nRow, nCol ) // Based on ::LineHeight and current ::CharWidth METHOD PRow() METHOD PCol() METHOD MaxRow() // Based on ::LineHeight and Form dimensions METHOD MaxCol() // Based on ::CharWidth and Form dimensions METHOD MM_TO_POSX( nMm ) // Convert position on page from MM to pixel location Column METHOD MM_TO_POSY( nMm ) // " " " " " " " " " Row METHOD INCH_TO_POSX( nInch ) // Convert position on page from INCH to pixel location Column METHOD INCH_TO_POSY( nInch ) // " " " " " " " " " Row METHOD TextAtFont( nPosX, nPosY, cString, cFont, nPointSize,; // Print text string at location nWidth, nBold, lUnderLine, lItalic, nCharSet,; // in specified font and color. lNewLine, lUpdatePosX, nColor, nAlign ) // Restore original font and colour // after printing. Печатает строку текста в указанной позиции/строке указанным шрифтом (с размером и проч. свойствами) указанного цвета. После печати ВОССТАНАВЛИВАЕТ установки шрифта и его цвета, которые были до вызова этого метода. METHOD GetDeviceCaps( nCaps ) - - - - -
|