InfoPath 2003 オブジェクト モデルを使用して警告とダイアログ ボックスを表示する
InfoPath 2003 オブジェクト モデルを使用するフォーム テンプレートの機能を拡張するためのコードを書く際、ユーザーにダイアログ ボックス形式で情報を表示すると便利な場合があります。 ダイアログ ボックスと関連するユーザー インターフェイス要素をプログラムで表示するには、 UIObject インターフェイスのメソッドを使用して InfoPath を使用します。
UIObject インターフェイスの概要
UIObject インターフェイスには次のメソッドが用意されています。フォーム開発者は、フォームに入力する際にさまざまな種類のダイアログ ボックスを InfoPath ユーザーに表示するために使用できます。
名前 | 説明 |
---|---|
アラート |
指定したメッセージ文字列を含む単純なメッセージ ボックスを表示します。 このメソッドは、ユーザーからの入力が必要なく、メッセージを表示する必要がある場合にのみ使用します。 表示されるダイアログ ボックスは、[OK] ボタンをクリックして閉じることができます。 |
確認 |
ユーザーが入力可能なメッセージ ボックスをいくつかのボタンと共に表示します。 返される値は、 XdConfirmChoice 列挙定数のいずれかです。 |
SetSaveAsDialogFileName |
[名前を付けて保存] ダイアログ ボックスにフォームの既定のファイル名を設定します。 |
SetSaveAsDialogLocation |
[名前を付けて保存] ダイアログ ボックスが開いたときに参照を開始する場所を設定します。 |
ShowMailItem |
既定の電子メール アプリケーションに新しい電子メール メッセージを作成し、現在開いているフォームをメッセージに添付します。 |
ShowModalDialog |
指定した .html ファイルと場所引数に基づいてモーダル ダイアログ ボックスを表示します。 このメソッドは、ユーザーに単純なメッセージ以上のメッセージを表示する必要があり、ユーザーからデータを取得する必要がある場合に使用する必要があります (Confirm メソッドによって表示される [はい | いいえ | キャンセル] ボタンによって提供される単純な確認以外)。 |
ShowSignatureDialog |
組み込みの [デジタル署名] ダイアログ ボックスを表示します。 |
UIObject インターフェイスの使用
UIObject インターフェイスは、XDocument インターフェイスの UI プロパティを介してアクセスされます。このインターフェイス自体は、フォーム コード クラスのメソッドで_Startup
初期化された変数を介してthisXDocument
アクセスされます。 次の例では、UIObject インターフェイスの ShowMailItem メソッドと Alert メソッドの使用を示します。
thisXDocument.UI.ShowMailItem("someone@example.com","", "",
"Updated Form", "Here is the updated form that you requested.");
thisXDocument.UI.Alert("The email message has been created.");
thisXDocument.UI.ShowMailItem("someone@example.com", "", "", _
"Updated Form", "Here is the updated form that you requested.")
thisXDocument.UI.Alert("The email message has been created.")
ShowModalDialog メソッドの使用
この例では、UIObject インターフェイスの ShowModalDialog メソッドを使用して、HTML ファイル show.html で定義されているカスタム ダイアログ ボックスを表示する方法を示します。
public void CTRL1_5_OnClick(DocActionEvent e)
{
// Write your code here.
thisXDocument.UI.ShowModalDialog(
"show.html",(object)thisXDocument,200,450,50,50);
}
Public Sub CTRL1_5_OnClick(ByVal e As DocActionEvent)
' Write your code here.
thisXDocument.UI.ShowModalDialog( _
"show.html", _
DirectCast(thisXDocument, Object), 200, 450, 50, 50)
End Sub
Visual C# と Visual Basic の両方のサンプルは、 ShowModalDialog メソッドによって呼び出されるダイアログ ボックスを定義する "show.html" という名前の HTML ファイルに依存します。 この HTML ファイルは、フォームからのデータを表示し、ユーザーが値を入力するためのテキスト ボックスを表示します。 テキスト ボックス内の値は、ダイアログ ボックスが閉じたときにフォームに返されます。
<HTML>
<HEAD>
<script language="JScript">
function BtnClick()
{
xdocument = window.dialogArguments;
myXml = xdocument.DOM.xml
aForm = oForm.elements;
aForm.textBox.value = myXml;
}
</script>
</HEAD>
<BODY>
<H1><FONT face="Arial">This is a modal dialog box</FONT>
</H1>
<BUTTON onclick="BtnClick()" id="BUTTON1" type="button">
Get XML DOM
</BUTTON>
<FORM ID="oForm">
<INPUT Type="text" name="textBox">
</FORM>
</BODY>
</HTML>
重要
ShowModalDialog メソッドを実行またはプレビューするには、完全信頼が必要です。 詳細については、「 完全信頼が必要なフォーム テンプレートのプレビューとデバッグ」を参照してください。