jvSetFieldTextW(UNICODE用テキストフィールドデータ設定)
テキストフィールドにUNICODEやサロゲートペアのデータを設定します。
[構文]
Function jvSetFieldTextW(ByVal jid As Long, ByVal fieldName As String, ByVal text As String) As Long
C言語
int jvSetFieldTextW(int jid, wchar_t *fieldName, wchar_t *text);
JAVA
int jvSetFieldTextW(int jid, String fieldName, String text);
Delphi
Function jvSetFieldTextW(jid: Longint; fieldName, text: PWideChar): Longint;
設定項目 |
内容 |
jid |
jvCreateで取得したジョブID |
fieldName |
フィールド名称 |
text
|
描画するUNICODEデータ |
リターンコード
定数 |
値 |
内容 |
|
0 |
正常終了 |
JV_ERR_JOBID |
-3 |
ジョブIDエラー |
JV_ERR_PARAMETER |
-2 |
パラメータエラー |
JV_ERR_MEMORY |
-4 |
メモリ関連エラー |
JV_ERR_FIELD_OVERFLOW |
-72 |
フィールドオーバーフロー |
JV_ERR_FIELD_FORMAT |
-71 |
編集子が不正 |
JV_ERR_FIELD_NAME |
-70 |
指定されたフィールドが存在しない |
[解説]
jvSetFieldTextWは、UNICODEやサロゲートペアの文字列を描画するためのファンクションです。UNICODEやサロゲートペアの文字を使用しない場合は、jvSetFieldTextを使います。jvStartDocからjvEndDocまでの間でコールします。
text
の値が編集子の桁数を超えた場合はオーバーフローとなります。オーバーフロー時の処理は、文字型フィールドではjvSetLong、数値型フィールドではjvSetStringで設定することができます。text
には、外字を使用することができます。
−基本的なコーディング
−外字の描画
−UNICODEの使用
−フィールド編集子
−サロゲートペア
拡張機能・フォントの自動調整
拡張機能とは、テキストフィールドに設定されたプロパティをプログラムから変更する機能です。
フォントの自動調整とは、テキストフィールドに渡した文字列が枠からはみ出る場合に、フォントサイズを自動調整して枠内に収める機能です。
拡張機能やフォントの自動調整機能を使う場合には、フォームのデザイン時に設定しておく必要があります。
−拡張機能・フォントの自動調整の設定
拡張機能やフォントの自動調整が設定されたテキストフィールドは、以下のプロパティを変更または設定することができます。
・フォント:種類、横幅拡大率、サイズ、色、イタリック、ボールド
・文字の背景:色、高さ、縦位置
・下線:色、幅、位置、種類
・打ち消し線:色、幅、位置、種類
※フォントの自動調整では、以下のプロパティは使用できません。
フォントの種類・横幅拡大率・サイズ、文字の背景の縦位置、下線の位置、打消し線の位置
これらのプロパティは、jvSetFieldLongを使って実行時に変えることもできますが、jvSetFieldLongでは、文字列全体のプロパティが変わります。拡張機能では、文字列を部分的に変えることができます。
プロパティは、予約語を使い、プログラムコードに記述して変更します。
拡張機能の使い方やコーディング例は、「付録/テキストフィールド拡張機能」を参照してください。
−フォントプロパティを変更
−文字の背景プロパティの設定
−下線プロパティの設定
−打ち消し線プロパティの設定
拡張機能とフォントの自動調整が設定されたテキストフィールドでは、オーバーフローエラーは起こりません。編集子の桁数に関係なく何文字でも渡すことができます。半角・全角に拘らず、最大2000文字まで渡すことができます。2000文字を超えた場合でもエラーは起こりませんが、そのテキストフィールドには何も描画されません。何も描画されない時には、渡した文字列の桁数を確認してください。
[コーディング例]
Dim jid&, ret&
jid = jvCreate(JV_PRINTER, form1.hWnd, Printer.hDC,
0, 0, 0, "")
ret = jvSetForm(jid, "c:\JiveReport\見積書.jfm",
1, "", 100, 0, 0)
ret = jvStartDoc(jid, "見積書", "")
ret = jvSetFieldTextW(jid, "担当者名", "山田太郎")
ret = jvSetFieldTextW(jid, "チェック", "1")
|
ret = jvDrawForm(jid, JV_FORM_FIELD)
ret = jvEndPage(jid)
ret = jvEndDoc(jid)
ret = jvClose(jid)
※拡張機能のコーディング例は、「付録/テキストフィールド拡張機能」の以下の項目を参照してください。
−フォントプロパティを変更
−文字の背景プロパティの設定
−下線プロパティの設定
−打ち消し線プロパティの設定