PrinterCE
SDK Special Topics
.Net CF C# or VB.Net: Printing Utilities |
PrinterCE
Developer's Guide
|
PrinterCE:
The primary control for printing text, images, drawing objects (lines,
rectangles, and so on) and much more. | |
AsciiCE2:
A separate control that allows for printing pure ASCII text to any
ASCII printer. | |
PrintDC : Emulates the standard Windows printing process for C/C++/MFC developers porting existing Windows apps. | |
BarcodeCE: An optional control that adds over a dozen barcode types to the PrinterCE toolkit. |
READ-ONLY property returns string describing this version of
PrinterCE/AsciiCE/BarcodeCE.
MFC Syntax:
Cstring str =PrinterCE1.GetAbout();
C++ Syntax: PrinterCE1.get_About(BSTR* str);
eVB
Syntax: str=PrinterCE1.About
String describing this version of PrinterCE - including
information on WinCE platform (Pocket PC, HPC/Pro), processor type and
version. This string can be used in a MsgBox() to display the information.
READ-ONLY property returns bit-values that identify all the
capabilities in the current control.
MFC Syntax:
long bitvals =PrinterCE1.GetCapabilities();
C++ Syntax: PrinterCE1.get_Capabilities(long * bitvals);
eVB
Syntax: bitvals =
PrinterCE1.Capabilities
Bit values that identify the capabilities of the current
control:
Constant |
Setting |
Description |
CAPS_STD |
01h |
PrinterCE Standard capabilities |
CAPS_PLUS |
02h |
PrinterCE SDK |
CAPS_ASCII |
04h |
AsciiCE |
CAPS_BARCODE |
08h |
BarcodeCE |
CAPS_ASCII2 |
10h |
AsciiCE2 |
CAPS_PRINTDC |
20h |
PrintDC |
This method converts a value from one ScaleMode system to
another.
MFC Syntax:
float toval=PrinterCE1.ConvertCoord(float fromval, long fromscale,
long toscale);
C++ Syntax:
PrinterCE1.ConvertCoord(float fromval, long fromscale, long
toscale,float* toval);
eVB
Syntax:
toval = PrinterCE1.DrawConvertCoord fromval, fromscale, toscalee
fromval - Value to be converted
fromscale - "convert from" ScaleMode
toscale - "convert to" ScaleMode.
toval - Converted value.
To convert 1.25 inches into printer resolution: PrResVal=PrCE1.ConvertCoord(1.25,vbInches,vbPixels)
This method prints a circle or ellipse on a page.
MFC Syntax:
PrinterCE1.DrawCircle(float x, float y,float rad, VARIANT* color,
VARIANT* aspect);
C++ Syntax:
PrinterCE1.DrawCircle(float x, float y,float rad, VARIANT* color,
VARIANT* aspect);
eVB Syntax: PrinterCE1.DrawCircle x,
y, [color], [aspect]
x - Horizontal coordinate for the center point of a circle.
y - Vertical coordinate for the center point of a circle.
radius - Radius of a circle.
color – Optional - RGB color of a circle's outline. If omitted (or
NULL), the ForeColor value is used.
aspect – Optional - aspect ratio of a circle. The default value is 1.0,
which yields a perfect circle. Other values draw an ellipse. (Also see
DrawEllipse for another way to draw ellipses).
The ScaleMode property of object determines the units of
measure used. The FillColor and FillStyle properties of object determine
how a circle is filled.
The DrawWidth property determines the width of the line used to draw a
circle.
This method prints an ellipse on a page.
MFC Syntax:
PrinterCE1.DrawEllipse(float x1, float y1, float x2, float y2,
VARIANT* color);
C++ Syntax:
PrinterCE1.DrawEllipse(float x1, float y1, float x2, float y2,
VARIANT* color);
eVB
Syntax: PrinterCE1.DrawEllipse x1, y1, x2, y2, [color]
x1, y1, x2, y2 - Required. Values define a rectangle (x1,y1)
as one corner and (x2,y2) as opposing corner. An ellipse is drawn that
just fits within this bounding rectangle. .
color – Optional - RGB color of a circle's outline. If omitted, the
ForeColor value is used.
The ScaleMode property of object determines the units of
measure used. The FillColor and FillStyle properties of object determine
how a circle is filled.
The DrawWidth property determines the width of the line used to draw a
circle.
This method draws lines and rectangles on a Form.
MFC Syntax:
PrinterCE1.DrawLine(float x1, float y1, float x2, float y2,
VARIANT* color, VARIANT* boxfill);
C++ Syntax:
PrinterCE1.DrawLine(float x1, float y1, float x2, float y2,
VARIANT* color, VARIANT* boxfill);
eVB
Syntax: PrinterCE1.DrawLine x1,
y1, x2, y2, [color], [boxfill]
x1, y1 - starting coordinates for a line or rectangle
x2, y2 - ending coordinates for a line or rectangle.
color – Optional - RGB color used to draw a line. If omitted/NULL, the
ForeColor value is used.
boxfill – Optional – If omitted or NULL, simple line is drawn. if =
vbLineBox causes a box to be drawn using the coordinates to specify
opposite corners of the box. vbLineBoxFill specifies that the box is
filled with the same color used to draw the box. (See DrawRect and
DrawRoundedRect for other ways to draw rectangles)
The DrawWidth property determines the width of the line. The
ScaleMode property determines the unit of measure used.
boxfill | Value | |
vbLineBox |
1 | Draws box using coords as opposite corners |
vbLineBoxFill | 2 | Draws box and fills with line color |
This method prints a BMP, JPG, GIF or PNG
image file on the page.
MFC
Syntax:
PrinterCE1.DrawPicture(
C++ Syntax:
PrinterCE1.DrawPicture(BSTR picture,float x,float y,VARIANT*
width,VARIANT* height,VARIANT* keepaspect);
eVB Syntax:
PrinterCE1.DrawPicture picture, x, y, [width], [height], [keepaspect]
picture
: Path & filename of the image to be drawn.
x,y : Coordinates where picture will be drawn (in ScaleMode units). By
default, x,y is the top/left corner of the image location. Use
JustifyHoriz/JustifyVert to change this to Center or Bottom/Right.
width : Optional destination width of picture. If omitted or if zero, the
actual image width is used.
height : Optional destination height of picture. If omitted or if zero,
the actual image height is used.
keepaspect :
keepaspect value |
Description |
TRUE |
Aspect Ratio (width to height of original image is retained. Image is sized to fit inside area of "width" x "height" |
FALSE (default) |
Image is stretched or scrunched to fit within "width" x "height" |
2 |
Returns actual width and height of image in "width" and "height" values... NO PICTURE IS DRAWN!. Uses ScaleMode to determine unit of measure for width & height values. Input values for x, y, width and height are not used when determining and returning image width and height. |
If width and/or height are negative values, DrawPicture
creates a mirror image along the vertical axis (if width is negative)
and/or the horizontal axis (if height is negative).
This method draws a point on the page.
MFC Syntax:
PrinterCE1.DrawPoint(float x, float y,VARIANT* color);
C++ Syntax:
PrinterCE1.DrawPoint(float x, float y,VARIANT* color);
eVB
Syntax: PrinterCE1.DrawPoint x, y, [color]
x, y - Coordinates of the point to draw (in ScaleMode units)
color - Optional. RGB color for point. If omitted/NULL, the current
ForeColor value setting is used.
The setting of the DrawWidth property determines the size of
the point.
This method draws a rectangle on a page.
MFC Syntax:
PrinterCE1.DrawRect(float x1, float y1, float x2, float y2,
VARIANT* color);
C++ Syntax:
PrinterCE1.DrawRect(float x1, float y1, float x2, float y2,
VARIANT* color);
eVB
Syntax: PrinterCE1.DrawRect
x1, y1, x2, y2, [color]
x1, y1, x2, y2 - defines a rectangle with (x1,y1) as one
corner and (x2,y2) as opposing corner
color – Optional - RGB color of rectangle’s outline. If omitted/NULL,
the ForeColor value is used
Coordinates are in ScaleMode units. FillColor and
FillStyle properties of object determine how a rectangle is filled. The
DrawWidth property determines the width of the line used to draw a
rectangle.
This method draws a rectangle with rounded corners on a page.
MFC Syntax:
PrinterCE1.DrawRoundedRect(float x1, float y1, float x2, float y2,
float cornerwidth, float cornerheight, VARIANT* color);
C++ Syntax:
PrinterCE1.DrawRoundedRect(float x1, float y1, float x2, float y2,
float cornerwidth, float cornerheight, VARIANT* color);
eVB Syntax: PrinterCE1.
DrawRoundedRect x1,y1,x2,y2,cornerwidth,cornerheight, [color]
x1, y1, x2, y2 - Defines a rectangle with (x1,y1) as one
corner and (x2,y2) as opposing corner.
cornerwidth,cornerheight - defines the width and height of the curve of
the rounded rectangle..
color - Optional. RGB color of a rectangle’s outline. If omitted/NULL,
the ForeColor value is used.
Coordinates are in ScaleMode units. FillColor and FillStyle properties of object determine how a rectangle is filled. The DrawWidth property determines the width of the line used to draw a rectangle.
This method draws text on the page.
MFC Syntax:
PrinterCE1.DrawText(LPSTSTR str, VARIANT* x VARIANT* y, VARIANT*
count);
C++ Syntax:
PrinterCE1.DrawText(BSTR str, VARIANT* x VARIANT* y, VARIANT*
count);
eVB
Syntax: PrinterCE1.DrawText
string, [x], [y], [count]
string - Text to be drawn.
x, y - Optional. Coordinates of the text to be drawn. If not specified or
NULL, string is drawn at the intrinsic (TextX,TextY) coordinates.
count - Optional. Number of characters in "string" that should
be printed – if not specified or NULL then entire line of text is drawn.
The font properties of the PrinterCE control determines the
appearance of the text. The ForeColor property determines the color of the
text. After the text is drawn, TextX, TextY are updated so that the next
DrawText command will print on a new line. The JustifyHoriz, JustifyVert,
and Rotation properties all impact how and where the text is actually
drawn on the page. Coordinates are in ScaleMode units
This property returns and sets the line width for output from
a graphics method.
MFC Syntax:
float size =PrinterCE1.GetDrawWidth();
PrinterCE1.SetDrawWidth(float size);
C++ Syntax:
PrinterCE1.get_DrawWidth(float * size);
PrinterCE1.put_DrawWidth(float size);
eVB
Syntax: PrinterCE1.DrawWidth
[=size]
size –Value for the width of the line in the current
ScaleMode. For example, if ScaleMode is set to Inches, size of 0.1 would
select a line width of 1/10 of an inch. A size of 0 sets line width to 1
pixel.
This method causes the current page to be printed and resets
printing properties to default.
MFC Syntax:
PrinterCE1.EndDoc();
C++ Syntax:
PrinterCE1.EndDoc();
eVB
Syntax: PrinterCE1.EndDoc
Causes the current page to be printed and then resets all properties to their default settings. See also "NewPage".
This property returns and sets the color used to fill in
graphics methods: DrawRect, DrawRoundedRect, DrawCircle and DrawEllipse.
MFC Syntax:
long value =PrinterCE1.GetFillColor();
PrinterCE1.SetFillColor(long value);
C++ Syntax:
PrinterCE1.get_FillColor(long * value);
PrinterCE1.put_FillColor(long value);
eVB
Syntax: PrinterCE1.FillColor
[=value]
value - Standard RGB color value that determines the fill
color. By default, FillColor is set to 0 (Black).
When the FillStyle property is set to Transparent (default),
the FillColor setting is ignored. The valid range for a normal RGB color
is from 0 through 16,777,215 (&HFFFFFF). The high byte of a number in
this range equals 0. The lower 3 bytes, from least to most significant
byte, determine the amount of red, green, and blue, respectively. The red,
green, and blue components are each represented by a number from 0 through
255 (&HFF).
This property returns and sets the pattern used to fill in
graphics methods: DrawRect, DrawRoundedRect, DrawCircle and DrawEllipse.
MFC Syntax:
long value =PrinterCE1.GetFillStyle();
PrinterCE1.SetFillStyle(long value);
C++ Syntax:
PrinterCE1.get_FillStyle(long * value);
PrinterCE1.put_FillStyle(long value);
eVB
Syntax: PrinterCE1.FillStyle
[=value]
value - Integer that specifies the fill style. The following
table describes the settings for number.
Constant |
Setting |
Description |
|
picFSSolid |
0 |
Solid |
|
picFSTransparent |
1 (default) |
Transparent |
When the FillStyle property is set Transparent, the FillColor
setting is ignored.
This property returns and sets the Bold font style.
MFC Syntax:
long value =PrinterCE1.GetFontBold();
PrinterCE1.SetFontBold(long value);
C++ Syntax:
PrinterCE1.get_FontBold(long * value);
PrinterCE1.put_FontBold(long value);
eVB
Syntax: PrinterCE1.FontBold
[=value]
value - Boolean expression that specifies the font style.
Following are the settings for Boolean:
True - Turns on Bold formatting, False - Turns
off Bold formatting.
Sets the "current font settings" to Bold or Normal.
For more selective settings, see FontBoldVal property.
This property returns and sets the Bold font style.
MFC Syntax:
long value =PrinterCE1.GetFontBoldVal();
PrinterCE1.SetFontBoldVal(long value);
C++ Syntax:
PrinterCE1.get_FontBoldVal(long * value);
PrinterCE1.put_FontBoldVal(long value);
eVB
Syntax: PrinterCE1.FontBoldVal
[=value]
value - Integer value between 0 and 1000 to set the weight of
the font. Normal weight setting is 400 and standard Bold is 700.
Sets the "current font settings" to selected
weight..
This property returns and sets the Italic font style.
MFC Syntax:
long value =PrinterCE1.GetFontItalic();
PrinterCE1.SetFontItalic(long value);
C++ Syntax:
PrinterCE1.get_FontItalic(long * value);
PrinterCE1.put_FontItalic(long value);
eVB
Syntax: PrinterCE1.FontItalic
[=value]
value - Boolean expression that specifies the font style.
Following are the settings for Boolean:
True - Turns on the formatting in that style, False - Turns off the
formatting in that style (default)
Use these font properties to format text.
This property returns and sets the font used to print text..
MFC Syntax:
Cstring font =PrinterCE1.GetFontName();
PrinterCE1.SetFontName(
C++ Syntax:
PrinterCE1.get_FontName(BSTR* font);
PrinterCE1.put_FontName(BSTR font);
eVB
Syntax: PrinterCE1.FontName
[=font]
font - String expression that specifies the font name to use.
Any TrueType font can be used. To install a TrueType font to the device, simply copy from desktop PC to \Windows\Fonts folder on the device. You can use Pocket Word -> Edit -> Format -> pull down list of available fonts to see exact font names of all installed fonts.
This property returns and sets the size of the font to be used for printing.
MFC Syntax:
long value =PrinterCE1.GetFontSize();
PrinterCE1.SetFontSize(long value);
C++ Syntax:
PrinterCE1.get_FontSize(long * value);
PrinterCE1.put_FontSize(long value);
eVB
Syntax: PrinterCE1.FontSize
[=value]
value – Numeric expression that specifies the font size, in
points, to use.
Note: to match a point size with equivalent point size of Microsoft Word, use negative point size... for example, to match Word's 12 point font, use PrinterCE1.FontSize = -12.
The maximum value for FontSize is 2,160 points. The minimum
value is 4 points.
This property returns and sets the Strikethrough style.
MFC Syntax:
long value =PrinterCE1.GetFontStrikethru();
PrinterCE1.SetFontStrikethru(long value);
C++ Syntax:
PrinterCE1.get_FontStrikethru(long * value);
PrinterCE1.put_FontStrikethru(long value);
eVB
Syntax: PrinterCE1.FontStrikethru
[=value]
value - Boolean expression specifying the font style.
Following are the settings for Boolean:
True - Turns on the strike-through formatting. False - Turns off the
strike-through formatting (default)
This property returns and sets the Underline font style.
MFC Syntax:
long value =PrinterCE1.GetFontUnderline();
PrinterCE1.SetFontUnderline(long value);
C++ Syntax:
PrinterCE1.get_FontUnderline(long * value);
PrinterCE1.put_FontUnderline(long value);
eVB
Syntax: PrinterCE1.FontUnderline
[=value]
value - Boolean expression that specifies the font style.
Following are the settings for Boolean:
True - Turns on the underline formatting. False - Turns off
the underline formatting (default)
This property returns and sets the foreground color used to
print text.
MFC Syntax:
long value =PrinterCE1.GetForeColor();
PrinterCE1.SetForeColor(long value);
C++ Syntax:
PrinterCE1.get_ForeColor(long * value);
PrinterCE1.put_ForeColor(long value);
eVB
Syntax: PrinterCE1.ForeColor
[=value]
value – RGB color value. Default color is set to Black.
The valid range for a normal RGB color is from 0 through
16,777,215 (&HFFFFFF). The high byte of a number in this range equals
0. The lower 3 bytes, from least to most significant byte, determine the
amount of red, green, and blue, respectively. The red, green, and blue
components are each represented by a number from 0 through 255 (&HFF).
READ-ONLY Property - Returns the height of the given text
string (in ScaleMode units)
MFC Syntax:
float value =PrinterCE1.GetGetStringHeight(
C++ Syntax:
PrinterCE1.get_GetStringHeight(BSTR string, float* value);
eVB
Syntax:
value=PrinterCE1.GetStringHeight(string)
string – Text string
value – returns height of text string for currently
selected font in ScaleMode units
READ-ONLY Property - Returns the width of the given text
string (in ScaleMode units)
MFC Syntax:
float value =PrinterCE1.GetGetStringWidth(
C++ Syntax:
PrinterCE1.get_GetStringWidth(BSTR string, float* value);
eVB
Syntax: value=PrinterCE1.GetStringWidth(string)
string – Text string
value – returns width of text string for currently selected
font in ScaleMode units
READ-ONLY Property - Returns an integer value representing
the version of PrinterCE
MFC Syntax:
long value =PrinterCE1.GetGetVersion();
C++ Syntax:
PrinterCE1.get_GetVersion(long * value);
eVB
Syntax: value =
PrinterCE1.GetVersion
value - Integer representation of version = (Major * 1000) +
Minor.
Example: version 1.3 would return value of 1300.
This method registers PrinterCE (or AsciiCE) with the
application's RegID string to verify that the app is licensed to use the
printer functions.
MFC Syntax:
long retval=PrinterCE1.Init(
C++ Syntax:
PrinterCE1.Init(BSTR regidstring,long
*retval);
eVB
Syntax: retval=PrinterCE1.Init
regidstring
regidstring - registration id string provided when the
PrinterCE license is purchased. This will identify which version of
PrinterCE is licensed and permit all licensed functions to work.
retval - boolean return value - True if registration was
successful, false otherwise.
If Init() is not called or is not successful, then the
registry is queried to see if the user has registered a single-use
license. If not, then an "evaluation" version (30-day time
limit) allows the user to continue printing
This READ-ONLY property returns TRUE if current selected
printer can print color.
MFC Syntax:
long value =PrinterCE1.GetIsColor();
C++ Syntax:
PrinterCE1.get_IsColor(long * value);
eVB
Syntax: value =
PrinterCE1.IsColor
value – Boolean – TRUE if both printer and printer driver
can print in color.
This property returns and sets a value that determines the
horizontal justification of following DrawText and DrawImage methods.
MFC Syntax:
long value =PrinterCE1.GetJustifyHoriz();
PrinterCE1.SetJustifyHoriz(long value);
C++ Syntax:
PrinterCE1.get_JustifyHoriz(long * value);
PrinterCE1.put_JustifyHoriz(long value);
eVB
Syntax: PrinterCE1.JustifyHoriz
[=value]
value - Integer that specifies horizontal justification of
text and images. The following table describes the settings for number.
Constant |
Setting |
Description |
vbLeftJustify |
0 (default) |
TextX is Left of text/image |
vbRightJustify |
1 |
TextX is Right of text/image |
vbCenter |
2 |
TextX is Center of text/image |
This property returns and sets a value that determines the
vertical justification of following DrawText and DrawImage methods..
MFC Syntax:
long value =PrinterCE1.GetJustifyVert();
PrinterCE1.SetJustifyVert(long value);
C++ Syntax:
PrinterCE1.get_JustifyVert(long * value);
PrinterCE1.put_JustifyVert(long value);
eVB
Syntax: PrinterCE1.JustifyVert
[=value]
value - Integer that specifies vertical justification of text
and images. The following table describes the settings for number.
Constant |
Setting |
Description |
vbTopJustify |
0 (default) |
TextY is Top of text/image |
vbBottomJustify |
1 |
TextY is Bottom of text/image |
vbCenter |
2 |
TextY is Center of text/image |
This method clears any printing commands and resets printing
properties to default.
MFC Syntax:
PrinterCE1.KillDoc();
C++ Syntax:
PrinterCE1.KillDoc();
eVB
Syntax: PrinterCE1.KillDoc
Causes the current page to be deleted (not printed) and then
resets all properties to their default settings.
This method causes the current page to be printed.
MFC Syntax:
PrinterCE1.NewPage();
C++ Syntax:
PrinterCE1.NewPage();
eVB
Syntax: PrinterCE1.NewPage
Causes the current page to be printed. All properties except
for TextX,TextY remain unchanged.
This property returns and sets an indent from the left margin
of the page where the start of the horizontal printing is found.
MFC Syntax:
long value =PrinterCE1.GetPgIndentLeft();
PrinterCE1.SetPgIndentLeft(long value);
C++ Syntax:
PrinterCE1.get_PgIndentLeft(long * value);
PrinterCE1.put_PgIndentLeft(long value);
eVB
Syntax: PrinterCE1.PgIndentLeft
[=value]
value - Numeric expression that specifies margin distance.
The value is in printer resolution dots.
Note: To determine the printer resolution after SelectPrinter() or
SetupPrinter(), do:
PrinterResolution = PrinterCE1.ConvertCoord(1,vbInches, vbPixels)
The PgIndentLeft and PgIndentTop settings can be called
multiple times while printing one page. All subsequent drawing methods use
the new settings (but prior drawing methods do not). Use this technique to
easily print multiple columns and/or rows of items.
This property returns and sets an indent from the top margin
of the page where the start of the vertical printing is found.
MFC Syntax:
long value =PrinterCE1.GetPgIndentTop();
PrinterCE1.SetPgIndentTop(long value);
C++ Syntax:
PrinterCE1.get_PgIndentTop(long * value);
PrinterCE1.put_PgIndentTop(long value);
eVB
Syntax: PrinterCE1.PgIndentTop
[=value]
value - Numeric expression that specifies margin distance.
The value is in printer resolution dots.
Note: To determine the printer resolution after SelectPrinter() or
SetupPrinter(), do:
PrinterResolution = PrinterCE1.ConvertCoord(1,vbInches, vbPixels)
The PgIndentLeft and PgIndentTop settings can be called
multiple times while printing one page. All subsequent drawing methods use
the new settings (but prior drawing methods do not). Use this technique to
easily print multiple columns and/or rows of items.
This property returns and sets the bottom margin for the
printed page
MFC Syntax:
float value =PrinterCE1.GetPrBottomMargin();
PrinterCE1.SetPrBottomMargin(float value);
C++ Syntax:
PrinterCE1.get_PrBottomMargin(float * value);
PrinterCE1.put_PrBottomMargin(float value);
eVB
Syntax: PrinterCE1.PrBottomMargin
[=value]
value - Numeric expression that specifies margin distance.
The value is in ScaleMode units. Default is printer default margin value.
This method controls action of the "Printing in
progress" dialog box (which allows the user to cancel the print
operation).
MFC Syntax:
long retval=PrinterCE1.PrDialogBox(long operation);
C++ Syntax:
PrinterCE1. PrDialogBox(long operation,long* retval);
eVB
Syntax: retval=PrinterCE1. PrDialogBox operation
operation – One of the following values:
Constant |
Setting |
Description |
vbDlgBoxDebugOn |
-1 |
Uses "in progress" dialog box to show details
about internal mode of PrinterCE during printing. |
vbDlgBoxDebugOff |
-2 |
Turns off Debug mode. |
vbDlgBoxUp |
0 |
Display "in progress" dialog box |
vbDlgBoxDown |
1 |
Take down dialog box |
vbDlgBoxDisable |
2 |
Prevent dialog box from being used |
vbDlgBoxStatus |
3 |
Display status of printing operation |
vbDlgBoxUserCancel |
4 |
Return True if user cancelled printing operation |
vbDlgBoxAbortError |
5 |
Return True if an error aborted printing operation |
retval - Current status of operation (see table above). If
not user cancel or AbortError, then returns current status of printer
dialog box (vbDlgUp, etc).
By default, the "Printing in progress" dialog box
is displayed with the first call by VB to a PrinterCE page operation
(such as Select Printer, Draw Object, etc). This dialog box will remain
until EndDoc or KillDoc completes the printing job. Calling
PrDialogBox(vbDlgDisable) will prevent PrinterCE from displaying
the dialog box (and will not give the user any chance to cancel).
See PrDialogBoxText() for info on changing the text displayed
or language used by this dialog.
This method allows changing the text displayed or language
used by the "Printing in progress" dialog box.
MFC Syntax:
PrinterCE1.PrDialogBoxText(
C++ Syntax:
PrinterCE1. PrDialogBoxText(BSTR MainStr,BSTR TitleStr,BSTR
CancelBtnStr);
eVB
Syntax: PrinterCE1. PrDialogBoxText MainStr,TitleStr,CancelBtnStr
MainStr - String for main text portion of the "Printing
in progress" dialog box.
TitleStr - String for title portion of the "Printing in
progress" dialog box.
CancelBtnStr - String for Cancel Button portion of the "Printing in
progress" dialog box
The text of this dialog box may be changed at any time… if
the dialog box is already displayed, it will be taken down, the new text
added, and then the dialog box will be redisplayed. If the dialog box is
not currently displayed, it will remain down until a call to PrDialogBox()
or until PrinterCE automatically displays it.
This property returns and sets the left margin for the
printed page
MFC Syntax:
float value =PrinterCE1.GetPrLeftMargin();
PrinterCE1.SetPrLeftMargin(float value);
C++ Syntax:
PrinterCE1.get_PrLeftMargin(float * value);
PrinterCE1.put_PrLeftMargin(float value);
eVB
Syntax: PrinterCE1.PrLeftMargin
[=value]
value - Numeric expression that specifies margin distance.
The value is in ScaleMode units. Default is printer default margin value.
This property returns and sets the right margin for the
printed page
MFC Syntax:
float value =PrinterCE1.GetPrRightMargin();
PrinterCE1.SetPrRightMargin(float value);
C++ Syntax:
PrinterCE1.get_PrRightMargin(float * value);
PrinterCE1.put_PrRightMargin(float value);
eVB
Syntax: PrinterCE1.PrRightMargin
[=value]
value - Numeric expression that specifies margin distance.
The value is in ScaleMode units. Default is printer default margin value.
This method causes the printer control to reset all
printer-specific values to the printer defaults.
MFC Syntax:
PrinterCE1.PrSetDefaults();
C++ Syntax:
PrinterCE1.PrSetDefaults();
eVB
Syntax: PrinterCE1.PrSetDefaults
This property returns and sets the Top margin for the printed
page
MFC Syntax:
float value=PrinterCE1.GetPrTopMargin();
PrinterCE1.SetPrTopMargin(float value);
C++ Syntax:
PrinterCE1.get_PrTopMargin(float * value);
PrinterCE1.put_PrTopMargin(float value);
eVB
Syntax: PrinterCE1.PrTopMargin
[=value]
value - Numeric expression that specifies margin distance.
The value is in ScaleMode units. Default is printer default margin value.
This property returns and sets the orientation of the printed
page (portrait or landscaped)
MFC Syntax:
long value=PrinterCE1.GetPrOrientation();
PrinterCE1.SetPrOrientation(long value);
C++ Syntax:
PrinterCE1.get_PrOrientation(long * value);
PrinterCE1.put_PrOrientation(long value);
eVB
Syntax: PrinterCE1.
PrOrientation [=value]
value – Orientation: vb Portrait=1, vb Landscape=2
Constant |
Setting |
Description |
vbPortrait |
1 (default) |
Normal page orientation |
vbLandscape |
2 |
Page rotated landscape |
This property returns and sets the paper selection for the
printed page: Letter size or A4.
MFC Syntax:
long value=PrinterCE1.GetPrPaperSelection();
PrinterCE1.SetPrPaperSelection(long value);
C++ Syntax:
PrinterCE1.get_PrPaperSelection(long * value);
PrinterCE1.put_PrPaperSelection(long value);
eVB
Syntax: PrinterCE1.
PrPaperSelection [=value]
value – Letter size=1, A4=2 – Note: defaults to printer
default setting.
Constant |
Setting |
Description |
vbLetter |
1 |
Letter size paper |
vbA4 |
2 |
A4 paper |
READ-ONLY Property - Returns the current height of the
printable area of the page (after subtracting out Top & Bottom
margins).
MFC Syntax:
float value =PrinterCE1.GetPrPgHeight();
C++ Syntax:
PrinterCE1.get_PrPgHeight(float * value);
eVB
Syntax: value =
PrinterCE1.PrPgHeight
value - Numeric value of the page height in the current
ScaleMode units.
READ-ONLY Property - Returns the current width of the
printable area of the page (after subtracting out Left & Right
margins).
MFC Syntax:
float value =PrinterCE1.GetPrPgWidth();
C++ Syntax:
PrinterCE1.get_PrPgWidth(float * value);
eVB
Syntax: value =
PrinterCE1.PrPgWidth
value - Numeric value of the page width in the ScaleMode
units.
This property returns and sets the quality of the printing
– High vs Draft
MFC Syntax:
long value=PrinterCE1.GetPrPrintQuality();
PrinterCE1.SetPrPrintQuality(long value);
C++ Syntax:
PrinterCE1.get_PrPrintQuality(long * value);
PrinterCE1.put_PrPrintQuality(long value);
eVB
Syntax: PrinterCE1.PrPrintQuality
[=value]
value – Quality: High =1, Draft=2
Constant |
Setting |
Description |
vbHigh |
1 (default) |
High quality print |
vbDraft |
2 |
Draft quality print |
Many printers do not support DRAFT "print quality".
This property returns and sets a value that determines the
rotation of subsequent text and image drawing commands.
MFC Syntax:
long value=PrinterCE1.GetRotation();
PrinterCE1.SetRotation(long value);
C++ Syntax:
PrinterCE1.get_Rotation(long * value);
PrinterCE1.put_Rotation(long value);
eVB
Syntax: PrinterCE1. Rotation
[=value]
value - Integer that specifies four available rotations
Constant |
Setting |
Description |
vbNorth |
0 (default) |
Rotation is 0 degrees |
vbEast |
1 |
Rotation is 90 degrees clockwise |
vbSouth |
2 |
Rotation is 180 degrees |
vbWest |
3 |
Rotation is 270 degrees clockwise |
Images and text can be printed at 90 degree rotations and
intermixed freely on the same page. For example, you can print a text
string in the default rotation North, call the Rotation method = 180 and
then print another string upside-down.
The trickiest part of using Rotation is getting a mental
image of how the text strings and images will be positioned on a page. For
example, if you have justification set to Left and Top justify the usage
of TextX and TextY will be used to justify the text string or image based
on the rotation setting.
This property returns and sets a value that indicates the
unit of measurement for coordinates of printing objects
MFC Syntax:
long value=PrinterCE1.GetScaleMode();
PrinterCE1.SetScaleMode(long value);
C++ Syntax:
PrinterCE1.get_ScaleMode(long * value);
PrinterCE1.put_ScaleMode(long value);
eVB
Syntax: PrinterCE1.ScaleMode
[=value]
value - Integer that specifies the unit of measurement. The
following table shows the settings for value.
Constant |
Setting |
Description |
vbTwips |
1 (default) |
Twip 1,440 twips per inch. 567 twips per centimeter |
vbPoints |
2 |
Point (72 points per logical inch) |
vbPixels |
3 |
Pixel (smallest unit of printer resolution |
vbInches |
5 |
Inch |
vbMillimeters |
6 |
Millimeter |
vbCentimeters |
7 |
Centimeter |
This method pops up the Printer Dialog box to allow the user
to select the printer and printer options to be used for printing.
MFC Syntax:
PrinterCE1.SelectPrinter();
C++ Syntax:
PrinterCE1.SelectPrinter();
eVB
Syntax: PrinterCE1.SelectPrinter
If SelectPrinter is never called, the default printer and
settings are used.
This Write-Only property sets error level of errors returned
by PrinterCE.
MFC Syntax:
PrinterCE1.SetSetErrorLevel(long value);
C++ Syntax:
PrinterCE1.put_SetErrorLevel(long value);
eVB
Syntax: PrinterCE1.SetErrorLevel
=value
value - Integer that specifies four available error levels
Constant |
Setting |
Description |
vbErrLevelNone |
0 (default) |
No errors are returned – Use StatusCheck to watch
progress |
vbErrLevelAll |
1 |
All errors are returned |
vbErrLevelTask |
2 |
Only errors that force abort of current operation or of
printer job are returned |
vbErrLevelJob |
3 |
Only errors forcing abort of the printer job are returned |
There are two approaches that a VB program can take while
using PrinterCE… first is to set up "On Error" statements in
each sub or function that calls a PrinterCE method or property and use the
"On Error" handler to determine the course of action when an
error occurs within PrinterCE. The second approach is to use occasional
calls to StatusCheck to determine if an error has occurred.
When an error occurs within PrinterCE, the severity of the
error is determined and PrinterCE "remembers" this as
appropriate. So, for example, if a printer error occurs, the entire
printing job must be aborted, so all calls to PrinterCE will remember that
it is aborting and this will be handled gracefully. However, if the error
is an "image file not found" error from a "DrawPicture"
method, that current DrawPicture task must be aborted, but the rest of the
print job can continue.
This structure allows the VB program that uses PrinterCE to
have a relaxed approach to error handling, even to the point of ignoring
errors completely (although it would be kind to the user to do StatusCheck
calls and display error dialog boxes as needed).
C++ and MFC-based applications can use the StatusCheck() method to determine if some error or user action has caused AsciiCE to stop printing. Since AsciiCE stops trying to print once an error or user cancel has been found, StatusCheck() only needs to be called when the application may be entering some extended period of activity.
NOTE
to eVB developers: Feedback we have gotten from eVB users is that
eVB error trapping seems to create more problems than it solves. My
recommendation is to not use eVB "On Error" type trapping at all. Simply
use StatusCheck to determine if any
errors have occurred and handle as you wish.
Most apps actually only need to call StatusCheck for checking PrinterCE
errors in two places:
- Right after SelectPrinter call - because this is the most common place
the user might Cancel or a printer connection error might occur (such as
trying to establish an Infrared connection with no IR printer in range).
- Right after call to EndDoc (and NewPage if you are printing multiple
pages). This lets you determine if an error was found between
SelectPrinter and end of printing the page. If a vbAbortPrint error
occurs after SelectPrinter and before EndDoc, all PrinterCE functions
will simply see the error condition and immediately return until EndDoc,
which resets the error condition and prepares PrinterCE to try again.
This Write-Only property sets error level of errors
reported to user with MsgBox()
error report by PrinterCE.
MFC Syntax:
PrinterCE1.SetSetReportLevel(long value);
C++ Syntax:
PrinterCE1.put_SetReportLevel(long value);
eVB
Syntax: PrinterCE1.SetReportLevel
=value
value - Integer that specifies four available error levels
Constant |
Setting |
Description |
vbReportErrors |
0 |
All errors are reported to user |
vbNoReportErrors |
1 |
No errors are reported to user by
PrinterCE... it is up to app to
report errors. |
vbReportSeriousErrors |
2 |
User cancel is not reported... all true errors are reported |
vbNoReportErrorsSkipCancel |
|
No errors are reported by PrinterCE. If user presses Cancel, no "Are you sure" prompt is given. |
There are two approaches that a VB program can take while
using PrinterCE… first is to set up "On Error" statements in
each sub or function that calls a PrinterCE method or property and use the
"On Error" handler to determine the course of action when an
error occurs within PrinterCE. The second approach is to use occasional
calls to StatusCheck to determine if an error has occurred.
When an error occurs within PrinterCE, the severity of the
error is determined and PrinterCE "remembers" this as
appropriate. So, for example, if a printer error occurs, the entire
printing job must be aborted, so all calls to PrinterCE will remember that
it is aborting and this will be handled gracefully. However, if the error
is an "image file not found" error from a "DrawPicture"
method, that current DrawPicture task must be aborted, but the rest of the
print job can continue.
This structure allows the VB program that uses PrinterCE to
have a relaxed approach to error handling, even to the point of ignoring
errors completely (although it would be kind to the user to do StatusCheck
calls and display error dialog boxes as needed).
NOTE: All calls to SetupNetPath MUST be called BEFORE calling SetupPrinter().
This method sets network path - used if Port=PORT_NETPATH or PORT_IP. For PORT_NETPATH, just pass the UNC path to PC and named shared printer (see example below). For PORT_IP, make two calls to SetupNetPath - first one passes NetID string "+1" to specify that next SetupNetPath call will contain IP address, then call again with IP address (see example).
MFC Syntax:
long success=PrinterCE1.SetupNetPath(lBSTR
NetString);
C++ Syntax:
PrinterCE1.SetupNetPath(BSTR NetString,
long*
success);
eVB Syntax: success=PrinterCE1.SetupNetPath NetString
success - Returns True if successful, False otherwise
NetString - Either a NetID string (see table) or a network path string. To
set any specific network string requires two calls to SetupNetPath. First,
SetupNetPath must be called passing one of the NetID string from the
table below to identify what network string will be found in the following
call to SetupNetPath. Then the actual network id string will be
sent.
NetID string |
Value |
Description |
+1 |
Network IP Printer Addr |
Next call to SetupNetPath will pass text string identifying Network IP Printer's IP address (for example: "192.168.0.1") |
+2 |
Network IP Port Addr |
Next call to SetupNetPath will pass text string identifying Network IP Printer's Port address (for example: "9100") |
For example, for an eVB app to specify Host PC to be "JoesPC" with networked printer named "HP995":
PrinterCE1.SetupNetPath "\\JoesPC\HP995"
'Now select printer type and network port type
PrinterCE1.SetupPrinter
PR_HP_PCL, PORT_NETPATH, S_DONTCARE
If you wanted to use a network IP printer, you might use the following
PrinterCE1.SetupNetPath "+1"
'Set Network IP printer addr
PrinterCE1.SetupNetPath "192.168.0.20"
PrinterCE1.SetupNetPath "+2"
'Set Network IP port addr
PrinterCE1.SetupNetPath "9101"
'Now select printer type and network port type
PrinterCE1.SetupPrinter
PR_HP_PCL, PORT_IP, S_DONTCARE
This method sets the main printer settings
MFC Syntax:
long success=PrinterCE1.SetupPrinter(long Printer,long Port, long
Baudrate);
C++ Syntax:
PrinterCE1.SetupPrinter(long Printer,long Port, long Baudrate,long*
success);
eVB
Syntax: success=PrinterCE1.SetupPrinter Printer, Port, Baudrate
success - Returns True if successful, False otherwise
Printer - One of the following printer selections:
Constant |
Value |
Description |
PR_ABLE_AP1300 | 33 | Able Systems Ap1300 |
PR_AXIOHM_A631 | 34 | Axiohm A631 |
PR_BROTHER | 21 | Brother MPrint |
PR_BROTHER_PJ6 |
53 |
Brother
|
PR_BROTHER_PJ6plus |
54 |
Brother
|
PR_BROTHER_PJ3 |
6 |
Brother
PocketJet 3 and PocketJet 200 |
PR_BROTHER_PJ3plus |
7 |
Brother
PocketJet 3 Plus and PocketJet
II |
PR_BROTHER_RUGGEDJET |
55 |
Brother RuggedJet RJ-4030/4040 |
PR_CANONBJ |
0 |
Canon BubbleJet compatible printers |
PR_CANONBJ600 | 37 |
|
PR_CANONBJ300 | 22 | Canon BubbleJet 300 dpi |
PR_CITIZEN_203 |
19 |
Citizen 203DPI printers |
PR_CITIZEN_CMP10 | 26 | Citizen CMP-10 |
PR_CITIZEN_PD22 | 23 | Citizen PD-22 |
PR_CITIZEN_PD04 |
1 |
Citizen PD-04, PD-24 |
PR_CITIZEN_PN60 |
2 |
Citizen PN60i |
PR_DATAMAX_APEX |
17 |
|
PR_DATAMAX_ONEIL_MFT |
14 |
|
PR_ELTRADE | 35 | Eltrade Mobilife |
PR_EPSON_ESCP2 |
3 |
Epson ESC/P 2 compatible printers |
PR_EPSON_STYLUS |
4 |
Epson Stylus compatible printers |
PR_EPSON_TM_P60 | 31 | Epson TM-P60 |
PR_FUJITSU | 30 | Fujitsu FTP-628WSL110 |
PR_GEBE | 40 |
|
PR_GENERIC24_180 |
9 |
Epson LQ compatible 180DPI 24-pin printers |
PR_GENERIC24_360 |
10 |
Epson
LQ
compatible 360DPI 24-pin printers |
PR_GENERIC24_203 |
11 |
Epson
LQ
compatible 203DPI 24-pin printers |
PR_HP_PCL |
5 |
HP PCL compatible - PCL3 DeskJet
& LaserJet |
PR_INTERMEC | 32 | Intermec ESC/P PR3/PR2, PB/PW/68/78 Thermal |
PR_INTERMECPB | 49 | Intermec PB3/PB2 |
PR_INTERMEC_FINGERPRINT | 52 | Intermec Fingerprint |
PR_PP50 | 25 | IPC PP-50 |
PR_PP55 | 36 | IPC PP-55 |
PR_MARTEL |
48 |
|
PR_OMNI | 27 | OMNIPrint 6240 and 6400 |
PR_PANASONIC_JTH200PR | 43 | Panasonic JTH200PR |
PR_PENTAX_200 |
6 |
Pentax PocketJet 3 and PocketJet 200 |
PR_PENTAX_300 |
7 |
Pentax PocketJet 3 Plus and PocketJet
II |
PR_PENTAXRUGGEDJET | 47 | Pentax RuggedJet 3 and RuggedJet 4 |
PR_NOMAD | 46 | Peripheron Nomad |
PR_POCKETSPECTRUM | 42 | Pocket Spectrum |
PR_SPRINT | 29 | CUSTOM s'print |
PR_SATO | 41 | SATO MB200i |
PR_SEIKO3445 |
8 |
Seiko DPU-3445 |
PR_SEIKO_L465 | 28 | Seiko MPU-L465 |
PR_TALLY_MIP360 | 39 |
|
PR_TALLY_MTP4 | 38 |
|
PR_ZEBRA | 20 | Zebra QL, Cameo and Encore |
PR_DYMOCOSTAR |
15 |
DymoCoStar label printers |
PR_SEIKOLABELWRITER |
16 |
Seiko LabelWriter printers |
PR_SIPIX |
18 |
SiPix A6 printer |
Port - One of the following printer port selections:
Constant |
Value |
Description |
PORT_COM1 |
0 |
Com1: serial port |
PORT_COM2 |
1 |
Com2: serial port |
PORT_LPT |
2 |
LPT: parallel port |
PORT_IR |
3 |
IR Infrared port |
PORT_COM3 |
4 |
Com3: serial port |
PORT_COM4 |
5 |
Com4: serial port |
PORT_COM5 |
|
Com5: serial port |
PORT_COM6 |
7 |
Com6: serial port |
PORT_TOFILE |
8 |
Print to file "\OUTPUT.PRN" |
PORT_NETPATH |
9 |
Print to shared printer on a networked host PC |
PORT_IP |
1 |
Print to network IP printer - a printer with its own IP address |
PORT_SOCKETCOM |
1 |
Socket PNC Bluetooth card support |
PORT_COM7 |
Com7: serial port |
|
PORT_COM8 |
14 |
Com8: serial port |
PORT_COMPAQ |
15 |
Compaq Bluetooth iPAQ or sleeve |
PORT_IPAQ |
15 |
Bluetooth iPAQ or sleeve |
PORT_WIDCOMM | 16 | Device using WIDCOMM Bluetooth stack |
PORT_COM9 | 17 | Com9: serial port |
PORT_COM0 | 19 | Com0: serial port |
PORT_BTQUIKPRINT | 18 | Special for WIDCOMM, HP iPAQ Bluetooth devices that pop up "Bluetooth Browser" to find/select BT printer at print time: using this flag bypasses the BT browser and uses most recent selected BT printer. To let user discover and select BT printer, use PORT_COMPAQ, PORT_IPAQ, PORT_WIDCOMM |
Baudrate - One of the following baudrate selections (can use
S_DONTCARE or any selection for PORT_LPT or PORT_NETWORK port
selections)::
Constant |
Value |
Description |
S_DONTCARE |
0 |
Use for LPT or Network printer ports |
S_4800 |
0 |
4800 baud |
S_9600 |
1 |
9600 baud |
S_19200 |
2 |
19200 baud |
S_38400 |
3 |
38400 baud |
S_57600 |
4 |
57600 baud |
S_115200 |
5 |
115200 baud |
This method sets the main paper-selection settings
MFC Syntax:
long success=PrinterCE1.SetupPaper(long PaperSize,long Orientation, float PaperWidth,float PaperHeight,float LeftMgn, float
TopMgn,float RightMgn,float BottomMgn);
C++ Syntax:
PrinterCE1.SetupPaper(long PaperSize,long Orientation,
float PaperWidth,float PaperHeight,float LeftMgn, float
TopMgn,float RightMgn,float BottomMgn,long*
success);
eVB
Syntax: success=PrinterCE1.SetupPaper (PaperSize, Orientation, PaperWidth, PaperHeight,
LeftMgn, TopMgn, RightMgn, BottomMgn)
success - Returns True if successful, False otherwise
PaperSize - One of the following paper-size selections:
Constant |
Value |
Description |
vbLetter |
1 |
Letter sized paper |
vbA4 |
2 |
A4 paper |
vbB5 |
3 |
B5 paper |
vbLegal |
4 |
Legal-sized paper |
vbCustom |
5 |
Custom-sized paper (see PaperWidth & PaperHeight
parameters) |
Orientation - Print orientation
Constant |
Value |
Description |
vbPortrait |
1 |
Portrait mode |
vbLandscape |
2 |
Landscape mode |
PaperWidth, PaperHeight - Paper width and height used if
PaperSize=vbCustom (in ScaleMode units)
LeftMgn, TopMgn, RightMgn, BottomMgn - Margins used for
printed page (in ScaleMode units)
This method sets a variety of "other" printing
options
MFC Syntax:
long success=PrinterCE1.SetupPrinterOther(long FFSetting,float FFScroll, long Density, long
Handshake, long BitFlags,
long Compressed,
long Dither,
long DraftMode);
C++ Syntax:
PrinterCE1.SetupPrinterOther(long FFSetting,float
FFScroll, long Density,
long Handshake, long
BitFlags, long Compressed,
long Dither,
long DraftMode,long*
success);
eVB
Syntax: success=PrinterCE1.SetupPrinterOther (FFSetting, FFScroll, Density,
Handshake, BitFlags, Compressed, Dither, DraftMode)
success - Returns True if successful, False otherwise
FFSetting- One of the following FormFeed selections:
Constant |
Value |
Description |
FFEED_NORMAL |
0 |
Printer sends formfeed command to printer at end of each
page. |
FFEED_PAPERHT |
1 |
PrinterCE scrolls printer to selected paper height. |
FFEED_SCROLL |
2 |
PrinterCE will scroll paper by "FFScroll"
distance from last printed portion of page. |
FFScroll - Distance (in ScaleMode units) to scroll if
FFSetting=FFEED_SCROLL
Density - Darkness/Lightness setting for print density.
Constant |
Value |
Description |
DENSITY_EXTRALIGHT |
0 |
Lightest printing |
DENSITY_LIGHTER |
1 |
Medium light printing |
DENSITY_NORMAL |
2 |
Normal printing density |
DENSITY_DARKER |
3 |
Darker printing |
DENSITY_EXTRADARK |
4 |
Darkest printing |
Handshake - Valid only for serial port selections (COM1 or
COM2) - Defines serial port handshake:
Constant |
Value |
Description |
SOFTWARE_HANDSHAKE |
0 |
Uses Xon/Xoff |
HARDWARE_HANDSHAKE |
1 |
Uses hardware control lines |
NO_HANDSHAKE |
2 |
No handshaking of serial port. |
BitFlags - Miscellaneous bit settings (OR these together):
BITFLAG_ADJUST_IR (0x01) - Forces IR (infrared) buffer size to 2040 bytes for Canon BJC printers and to 64 bytes for all other printers... this fixes IR hardware incompatibilities in a few printers. | |
BITFLAG_ALTERNATE_IR
(0x02) - IR Adjust - There are a few Windows CE devices that have trouble
printing through the infrared port to specific printers due to
problems in the infrared port driver of the device. If your device
"hangs" (stops working) when trying to establish infrared
connection, try enabling IR Adjust. Do NOT check this item unless
necessary, because it may result in significantly slower printing
speeds: | |
BITFLAG_COLOR (0x04) - Color - enables color printing for HP PCL, Canon BJC and Epson printer selections. | |
BITFLAG_CMYONLY (0x08) - CMY 3-Color Printing - for color printers that do not have black ink. | |
BITFLAG_SINGLETHREAD (0x40) - PrinterCE normally uses two threads (separate processes) for printing. Selecting BITFLAG_SINGLETHREAD forces PrinterCE to use one thread. |
Compressed - Select data compression mode for printing:
Constant |
Value |
Description |
COMPRESSED_OFF |
0 |
No compression techniques used (slower printing speed). |
COMPRESSED_ON |
1 |
Use any known compression |
Dither - Select Dither or Diffusion technique for image
conversion :
Constant |
Value |
Description |
DITHER_OFF |
0 |
Use color diffusion |
DITHER_ON |
1 |
Use dithering |
DraftMode - Select High Quality vs Draft mode printing (if
available)
Constant |
Value |
Description |
DRAFTMODE_OFF |
0 |
Use highest quality printing |
DRAFTMODE_ON |
1 |
Use lower quality but faster printing if available |
This READ-ONLY property returns the current status of
PrinterCE.
MFC Syntax:
long value=PrinterCE1.GetStatusCheck();
C++ Syntax:
PrinterCE1.get_StatusCheck(long * value);
eVB
Syntax: value =
PrinterCE1.StatusCheck
value - Integer that specifies four possible status values
Constant |
Setting |
Description |
vbNoError |
0 |
No error to report |
vbUserCancel |
1 |
User cancelled print job |
vbAbortOperation |
2 |
Error aborted the last print operation (but the print job
is still viable). |
vbAbortPrint |
3 |
Error aborted the print job |
The AbortOperation status is momentary… if a "DrawPicture"
method cannot find the specified image file, that operation is aborted and
a call to StatusCheck that follows the DrawPicture method will return
vbAbortOperation. However, if a successful DrawText operation immediately
follows the aborted DrawPicture call, a call to StatusCheck after DrawText
will return vbNoError..
Most apps actually only need to call
StatusCheck for checking PrinterCE errors in two places:
- Right after SelectPrinter call - because this is the most common place the
user might Cancel or a printer connection error might occur (such as trying
to establish an Infrared connection with no IR printer in range).
- Right after call to EndDoc (and NewPage if you are printing multiple
pages). This lets you determine if an error was found between SelectPrinter
and end of printing the page. If a vbAbortPrint error occurs after
SelectPrinter and before EndDoc, all PrinterCE functions will simply see the
error condition and immediately return until EndDoc, which resets the error
condition and prepares PrinterCE to try again.
This property returns and sets the current X coordinate for
text positioning.
MFC Syntax:
float value =PrinterCE1.GetTextX();
PrinterCE1.SetTextX(float value);
C++ Syntax:
PrinterCE1.get_TextX(float * value);
PrinterCE1.put_TextX(float value);
eVB
Syntax: PrinterCE1. TextX
[=value]
value - Numeric value for the X coordinate. The next DrawText
method call will use this coordinate to position its text (unless DrawText
overrides it with an X coordinate in the method). The TextX value is in
the current ScaleMode units. Actual position of the text is impacted by
the JustifyHoriz/JustifyVert and Rotation property settings. TextX is
measured from the Left margin setting.
TextX and TextY are automatically adjusted after every
DrawText call to move to the next line of text. This allows for automatic
printing of multiple lines of text. The amount moved is dependent on the
FontSize (point size) of the text. The direction of movement is dependent
on the Rotation property setting
This property returns and sets the current Y coordinate for
text positioning.
MFC Syntax:
float value =PrinterCE1.GetTextY();
PrinterCE1.SetTextY(float value);
C++ Syntax:
PrinterCE1.get_TextY(float * value);
PrinterCE1.put_TextY(float value);
eVB
Syntax: PrinterCE1. TextY
[=value]
value - Numeric value for the Y coordinate. The next DrawText
method call will use this coordinate to position its text (unless DrawText
overrides it with a Y coordinate in the method). The TextY value is in the
current ScaleMode units. Actual position of the text is impacted by the
JustifyHoriz/JustifyVert and Rotation property settings. TextY is measured
from the Top margin setting.
TextX and TextY are automatically adjusted after every
DrawText call to move to the next line of text. This allows for automatic
printing of multiple lines of text. The amount moved is dependent on the
FontSize (point size) of the text. The direction of movement is dependent
on the Rotation property setting