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)
 
※拡張機能のコーディング例は、「付録/テキストフィールド拡張機能」の以下の項目を参照してください。
 
フォントプロパティを変更
文字の背景プロパティの設定
下線プロパティの設定
打ち消し線プロパティの設定