LineDisplay 功能 (POS for .NET v1.14 SDK 文件)
LineDisplay 服務物件至少支援在輸出裝置上顯示字元。 此外,裝置也可能支援其他功能,而在其中,服務物件會設定功能屬性並實作其對應的方法和屬性,以向應用程式公開這些功能。
針對每個額外的功能,LineDisplayBase 類別中都會定義功能屬性。 除非在應用程式在服務物件上呼叫 Open,否則可能無法查詢功能屬性。 之後,功能屬性將會指出可在服務物件上設定和呼叫的屬性和方法。
本節列出 LineDisplay 服務物件可能支援的功能。 針對每個功能,會有服務物件必須設定的功能屬性,以及應用程式將用來存取這些功能的屬性或方法集合。 在某些情況下,LineDisplayBase 完全支援此功能,而且在服務物件類別中不需要額外的程式碼。
功能屬性會實作為唯讀,以防止應用程式變更其值。 這也表示服務物件無法直接對其進行設定。 相反地,LineDisplayBase 具有受保護屬性 (Properties),其會傳回 LineDisplayProperties 物件。 此類別提供所有功能屬性的公用對等項目。 例如,為了公告其支援閃爍,則服務物件會寫入:
Properties.CapBlink = true;
而非:
CapBlink = true;
視窗的類似跑馬燈捲動
服務物件可能支援水平或垂直跑馬燈。 如果支援水平捲動,則服務物件會將 Properties.CapHMarquee 設定為 true。 同樣地,如果支援垂直捲動,則 Properties.CapVMarquee 會設定為 true。
之後,應用程式和服務物件可能會使用下列項目來設定或取得跑馬燈類型:
DisplayMarqueeType MarqueeType {get, set; }
字元間等候
行顯示裝置可能會在顯示每個字元以建立 teletype 效果之前,可以等候一段指定的時間。 如果支援此功能,則 Properties.CapICharWait 屬性會設定為 true。
之後,應用程式和服務物件可能會使用下列項目來設定或取得字元間等候時間:
int InterCharacterWait { get; set; }
閃爍文字
行顯示裝置可能支援可調整閃爍頻率的字元層級或裝置層級閃爍。 如果支援此功能,則服務物件應該將 Properties.CapBlink 屬性設定為下列其中一個 Properties.DisplayBlink 列舉值。
DisplayBlink 值 | 對應的 UnifiedPOS 值 | 描述 |
---|---|---|
None | DISP_CR_NOBLINK | 裝置不支援閃爍。 |
全部 | DISP_CR_BLINKALL | 裝置支援整個顯示的閃爍。 |
每個 | DISP_CR_BLINKEACH | 裝置支援每個個別字元的閃爍。 |
之後,應用程式和服務物件可能會使用下列項目來設定或取得閃爍頻率:
int BlinkRate {get; set; }
反轉影片
行顯示可能支援字元層級或裝置層級反轉影片。 如果支援此功能,則服務物件應該將 Properties.CapReverse 設定為 DisplayReverse 列舉中的值。
DisplayReverse 值 | 對應的 UnifiedPOS 值 | 描述 |
---|---|---|
None | DISP-CR_NONE | 不支援反轉影片。 |
全部 | DISP_CR_REVERSEALL | 顯示的整個內容會以保留影片顯示或正常顯示。 |
每個 | DIS_CR_REVERSEEACH | 每個字元都可以個別設定為反轉影片或正常。 |
CapReverse 屬性是由 DisplayText 方法所使用。
裝置描述項
描述項是具有固定標籤的小型指標,通常用來指出交易狀態,例如項目、總計和變更。 如果支援描述項,則服務物件應該將 Properties.CapDescriptors 設定為 true。
之後,應用程式和服務物件可能會使用下列項目來設定、取得或清除描述項:
int DeviceDescriptors {get; set; }
void ClearDescriptors();
void SetDescriptor(int descriptor, DisplaySetDescriptor attribute);
亮度控制
所有 LineDisplay 服務物件都支援兩個亮度層級 (正常和空白),即使實體裝置不支援也是一樣。 如果裝置支援其他亮度層級,則 Properties.CapBrightness 應該設定為 true。
之後,應用程式和服務物件可能會使用下列項目來設定或取得裝置亮度:
int DeviceBrightness {get; set; }
資料指標屬性
行顯示裝置可能支援各種不同的資料指標類型。 Properties.CapCursorType 屬性定義支援其中哪些類型。 CapCursorType 屬性是使用 DisplayCursors 列舉所設定,並保留所支援資料指標類型的位元指示,而這可以是資料表中所顯示的下列任何類型。
CapCursorType 列舉 | UnifiedPOS 值 | 描述 |
---|---|---|
Blink | DISP_CCT_BLINK | 支援閃爍資料指標。 |
封鎖 | DISP_CCT_BLOCK | 資料指標可顯示為區塊。 |
已修正 | DISP_CCT_FIXED | 一律顯示資料指標。 |
HalfBlock | DISP_CCT_HALFBLOCK | 資料指標可顯示為半區塊。 |
無 | DISP_CCT_NONE | 資料指標無法顯示。 |
其他 | DISP_CCT_OTHER | 資料指標可顯示,但表單未知。 |
Reverse | DISP_CCT_REVERSE | 資料指標可在反轉影片中顯示。 |
底線 | DISP_CCT_UNDERLINE | 資料指標可顯示為底線。 |
之後,應用程式和服務物件可能會使用下列項目來設定或取得資料指標類型:
DisplayCursorsCursorType { get; set; }
字符
字符是字元儲存格的像素層級使用者定義。 如果裝置支援字符,則 Properties.CapCustomGlyph 應該設定為 true。
之後,應用程式和服務物件可能會使用下列項目來設定或取得字符清單和設定:
- RangeOfCharacters
[] CustomGlyphList { get; set; }
int GlyphHeight { get; }
int GlyphWidth { get; }
void DefineGlyph(int glyphCode, byte[] glyph);
螢幕模式
裝置可能支援變更螢幕模式;即,顯示的資料列和資料行數目。 如果裝置支援此功能,則服務物件應該將 Properties.CapScreenMode 設定為 true。
之後,應用程式和服務物件可能會使用下列項目來設定或取得螢幕模式:
int ScreenMode { get; set; }
- DisplayScreenMode
[] ScreenModeList { get; }
點陣圖
如果裝置支援顯示點陣圖,則服務物件應該將 Properties.CapBitmap 屬性設定為 true。
如果支援此功能,則服務物件可能會想要覆寫下列方法:
void DisplayBitmap(string fileName, int alignmentX, int alignmentY);
void DisplayBitmap(string fileName, int width, int alignmentX, int alignmentY);
字元集
服務物件應該使用行顯示裝置的預設字元集功能來設定 Properties.CapCharacterSet 屬性。 此屬性可以設定為 CharacterSetCapability 列舉的成員,如下表所示。
CharacterSetCapability 值 | UnifiedPOS 值 | 描述 |
---|---|---|
Alpha | PTR_CCS_ALPHA | 預設字元集支援大寫字母加上數值、空格、減號和句點。 |
ANSI | N/A | 此值不適用於 LineDisplay 裝置。 |
ASCII | PTR_CCS_ASCII | 預設字元集支援 0x20 到 0x75。 |
假名 | PTR_CCS_KANA | 預設字元集支援部分字碼頁 932,包括 ASCII 字元 0x20 到 0x7F 和日文假名字元 0xA1 到 0xDF,但不包括日文外部漢字字元。 |
漢字 | DISP_CCS_KANJI | 預設字元集支援字碼頁 932,包括 Shift-JIS 漢字字元、層級 1 和 2。 |
數值 | N/A | 此值不適用於 LineDisplay 裝置。 |
Unicode | DISP_CCS_UNICODE | 預設字元集支援 UNICODE。 |
Windows | N/A | 此值不適用於 LineDisplay 裝置。 |
之後,應用程式和服務物件可能會使用下列項目來設定或取得字元集:
int CharacterSet { get; set; }