jvSetForm(フォーム指定)
描画するフォームを指定します。
[構文]
Function jvSetForm(ByVal jid As Long, ByVal formName As String, ByVal pageNo As Long, ByVal pageKey As String, ByVal scale As Long, ByVal mgX As Long, ByVal mgY As Long) As Long
C言語
int jvSetForm(int jid, char *formName, int pageNo, char *pageKey, int scale, int mgX, int mgY);
JAVA
int jvSetForm(int jid, String formName, int pageNo, String pageKey, int scale, int mgX, int mgY);
Delphi
Function jvSetForm(jid: Longint; formName: PAnsiChar; pageNo: Longint; pageKey: PAnsiChar; scale, mgX, mgY: Longint): Longint;
設定項目 |
内容 |
jid |
jvCreateで取得したジョブID |
formName |
フォームファイル名称 |
pageNo |
フォームのページ番号 |
pageKey |
フォームのページキー |
scale |
フォームの拡大縮小率(1%〜1000%) |
mgX |
フォームの横方向のマージン(1/100mm単位) |
mgY |
フォームの縦方向のマージン(1/100mm単位) |
リターンコード
定数 |
値 |
内容 |
|
0 |
正常終了 |
JV_ERR_JOBID |
-3 |
ジョブIDエラー |
JV_ERR_OPEN_FILE |
-42 |
ファイルオープンエラー |
JV_ERR_READ_FILE |
-43 |
ファイルリードエラー |
JV_ERR_FORM_FORMAT |
-40 |
フォームのフォーマットが違う |
JV_ERR_FORM_VERSION |
-41 |
フォームのバージョンが違う |
JV_ERR_MEMORY |
-4 |
メモリ関連エラー |
JV_ERR_PARAMETER |
-2 |
パラメータエラー |
JV_ERR_PAGENO |
-21 |
ページ番号指定エラー |
JV_ERR_PAGEKEY |
-22 |
ページキー指定エラー |
[解説]
jvSetFormがコールされるとjvSetFieldTextなどで設定したフィールドデータはクリアされます。
フォームファイル中に複数のフォームが保存されている場合には、pageNo
またはpageKey を使って使用するフォームを指定します。pageKey
を使う時には、pageNo
には0を指定します。
可変フォームでは、フォームファイル中に複数のフォームを作成することができないため、pageNo とpageKey
パラメータは無視されます。
scale
パラメータは、出力先がRDF形式、Adobe PDF形式、XPS形式の場合には無視されます。
RDF形式の場合には、プレビューコントロールのScaleプロパティを使って拡大縮小を行います。
Adobe PDF形式の場合には、Adobe Readerの機能を使って拡大縮小を行います。
XPS形式の場合には、XPS Viewerの機能を使って拡大縮小を行います。
拡大縮小率を設定しても、用紙の余白は変わりません。詳細は「付録/用紙の余白(マージン)設定」を参照してください。
mgX
パラメータと mgY パラメータでは、余白を設定することができます。
ここで設定した余白は、formName
で指定したフォームの余白に加算されます。
余白についての詳細は、用紙の余白(マージン)設定を参照してください。
余白は、ジャイブレポートのバージョンによって仕様が異なります。ご注意ください。
[コーディング例]
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 = jvDrawForm(jid, JV_FORM_ONLY)
ret = jvEndPage(jid)
ret = jvEndDoc(jid)
ret = jvClose(jid)