LineDisplay サービス オブジェクトは、少なくとも出力デバイスに文字を表示する機能をサポートしています。 さらに、デバイスでは追加の機能をサポートすることもでき、これは機能プロパティを設定し、対応するメソッドとプロパティを実装することによって、サービス オブジェクトからアプリケーションに公開されます。
追加機能ごとに、機能プロパティが LineDisplayBase クラスで定義されています。 アプリケーションでサービス オブジェクトに対して Open を呼び出すまでは、機能プロパティを照会できません。 その後、機能プロパティは、そのサービス オブジェクトで設定したり呼び出したりできるプロパティとメソッドを示します。
このセクションでは、LineDisplay サービス オブジェクトでサポートできる機能の一覧を示します。 機能ごとに、サービス オブジェクトで設定する必要がある機能属性と、これらの機能にアクセスするためにアプリケーションで使われるプロパティまたはメソッドのセットがあります。 場合によっては、LineDisplayBase で機能が完全にサポートされていて、サービス オブジェクトのクラスでコードを追加する必要がないことがあります。
アプリケーションで値を変更できないようにするため、機能プロパティは読み取り専用として実装されます。 これは、サービス オブジェクトでそれらを直接設定できないことも意味します。 代わりに、LineDisplayBase には、LineDisplayProperties オブジェクトを返す保護されたプロパティ Properties があります。 このクラスは、すべての機能プロパティと同等のものをパブリックに提供します。 たとえば、点滅をサポートしていることをアドバタイズするには、サービス オブジェクトで次のように記述します。
Properties.CapBlink = true;
次のようにはしません。
CapBlink = true;
ウィンドウのマーキーのようなスクロール
サービス オブジェクトでは、水平または垂直のマーキーをサポートできます。 水平スクロールがサポートされている場合は、サービス オブジェクトで Properties.CapHMarquee を true に設定します。 同様に、垂直スクロールがサポートされている場合は、Properties.CapVMarquee を true に設定します。
その後、アプリケーションとサービス オブジェクトでは、次のようにしてマーキー型を設定または取得できます。
DisplayMarqueeType MarqueeType {get, set; }
文字間の待機
ライン ディスプレイ デバイスは、テレタイプ効果を出すため、各文字を表示する前に、指定された時間だけ待機する機能を持つ場合があります。 この機能がサポートされている場合は、Properties.CapICharWait プロパティを true に設定します。
その後、アプリケーションとサービス オブジェクトでは、次のようにして文字間待機時間を設定または取得できます。
int InterCharacterWait { get; set; }
テキストの点滅
ライン ディスプレイ デバイスは、調整可能な点滅速度での文字レベルまたはデバイス レベルの点滅をサポートしている場合があります。 この機能がサポートされている場合は、サービス オブジェクトで Properties.CapBlink プロパティを次のいずれかの Properties.DisplayBlink 列挙値に設定する必要があります。
| DisplayBlink の値 | 対応する UnifiedPOS の値 | 説明 |
|---|---|---|
| なし | DISP_CR_NOBLINK | デバイスは点滅をサポートしていません。 |
| すべて | DISP_CR_BLINKALL | デバイスは、ディスプレイ全体の点滅をサポートしています。 |
| Each | DISP_CR_BLINKEACH | デバイスは、個々の各文字の点滅をサポートしています。 |
その後、アプリケーションとサービス オブジェクトでは、次のようにして点滅速度を設定または取得できます。
int BlinkRate {get; set; }
反転ビデオ
ライン ディスプレイは、文字レベルまたはデバイス レベルで反転ビデオをサポートしている場合があります。 この機能がサポートされている場合は、サービス オブジェクトで Properties.CapReverse を DisplayReverse 列挙型の値に設定する必要があります。
| DisplayReverse の値 | 対応する UnifiedPOS の値 | 説明 |
|---|---|---|
| なし | DISP-CR_NONE | 反転ビデオはサポートされていません。 |
| すべて | DISP_CR_REVERSEALL | 表示の内容全体が、反転ビデオで表示されるか、通常どおりに表示されます。 |
| Each | DIS_CR_REVERSEEACH | 各文字を個別に反転ビデオまたは通常に設定できます。 |
CapReverse プロパティは DisplayText メソッドによって使われます。
デバイス記述子
記述子は、固定のラベルを持つ小さなインジケーターであり、通常、品目、合計、変更などのトランザクションの状態を示すために使われます。 記述子がサポートされている場合は、サービス オブジェクトで Properties.CapDescriptors を true に設定する必要があります。
その後、アプリケーションとサービス オブジェクトでは、次のようにして記述子を設定、取得、またはクリアできます。
int DeviceDescriptors {get; set; }void ClearDescriptors();void SetDescriptor(int descriptor, DisplaySetDescriptor attribute);
明るさの制御
すべての LineDisplay サービス オブジェクトは、物理デバイスでサポートされていない場合でも、通常と空白の 2 つの明るさレベルをサポートします。 デバイスで追加の明るさレベルがサポートされている場合は、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 | 反転ビデオでカーソルを表示できます。 |
| Underline | 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 | 該当なし | この値は、LineDisplay デバイスでは使われません。 |
| ASCII | PTR_CCS_ASCII | 既定の文字セットでは、0x20 から 0x75 までがサポートされています。 |
| Kana | PTR_CCS_KANA | 既定の文字セットでは、部分コード ページ 932 がサポートされています。これには、0x20 から 0x7F までの ASCII 文字と、日本語のかな文字 0xA1 から 0xDF までが含まれますが、日本語の漢字文字は含まれません。 |
| Kanji | DISP_CCS_KANJI | 既定の文字セットでは、Shift-JIS 漢字文字のレベル 1 と 2 を含むコード ページ 932 がサポートされています。 |
| 数値 | 該当なし | この値は、LineDisplay デバイスでは使われません。 |
| Unicode | DISP_CCS_UNICODE | 既定の文字セットでは UNICODE がサポートされています。 |
| Windows | 該当なし | この値は、LineDisplay デバイスでは使われません。 |
その後、アプリケーションとサービス オブジェクトでは、次のようにして文字セットを設定または取得できます。
int CharacterSet { get; set; }
参照
タスク
その他の参照情報
.NET