クイック ファイリング ダイアログ ボックス インタ フェース (OneNote 2013)
このトピックは、 OneNote 2013では、[クイック ファイリング] ダイアログ ボックスをプログラムでカスタマイズするのに使用できるインターフェイスについて説明します。
[クイック ファイリング] ダイアログ ボックス
クイック ファイリング] ダイアログ ボックスのOneNote 2013では、OneNote の階層構造内の場所を選択できるようにするカスタマイズ可能なダイアログ ボックスです。 選択可能な場所には、ノートブック、セクション グループ、セクション、ページおよびサブページが含まれます。 ダイアログ ボックスは、OneNote アプリケーション内およびOneNote 2013 API を通じて、外部アプリケーションによって使用されます。 図 1 は、既定の状態でクイック ファイリング] ダイアログ ボックスを示します。
図 1. カスタマイズされていない [クイック入力] ダイアログ ボックス
カスタマイズ
ユーザー、ダイアログ ボックス内の特定の場所、または、テキスト ボックスに入力することによって、OneNote ツリー構造の検索をすべてのノートブックの階層を移動できます。 カスタマイズ可能なダイアログ ボックスの側面には、タイトル、説明、最近の結果のリスト、チェック ボックスのテキストと状態、ツリーの深さ、ボタン、および選択可能な場所の種類が含まれます。
クイック ファイリング ダイアログ ボックス機能はOneNote 2013の 2 つのインターフェイスを通じてアクセスできます。 IQuickFilingDialogインタ フェースのインスタンスを作成、設定することができます、ダイアログ ボックスを実行する. IQuickFilingDialogCallbackインターフェイスは、ダイアログ ボックスが閉じられた後に呼び出されます。 ダイアログ ボックスは、OneNote のプロセスで実行されるため、ダイアログ ボックスのスレッドの実行を維持する機構が必要にしが閉じているときに、ユーザーの選択やダイアログ ボックスの状態をキャプチャします。
IQuickFilingDialog インターフェイス
このインターフェイスをカスタマイズして、ダイアログ ボックスを実行することができます。 ユーザーは、 Application.QuickFilingDialogメソッドを使用して、 Applicationクラスを使用する] ダイアログ ボックスをインスタンス化できます。 このメソッドはダイアログ ボックスのインスタンスを返します。 IQuickFilingDialog.Runメソッドのプロパティ] ダイアログ ボックスの設定は、ダイアログ ボックスを実行する使用されます。 このメソッドは、新しいスレッドで、ダイアログ ボックスを実行します。
プロパティ
名前 | 型 | 説明 |
---|---|---|
Title |
string |
取得またはダイアログ ボックス ウィンドウのタイトル バーに表示されるタイトル テキストを設定します。 |
Description |
string |
取得または設定、テキストの説明に何を選択するように指示します。 この値は、複数行のテキストを指定できます。 |
CheckboxText |
string |
取得または、次のチェック ボックスのテキストを設定します。 この値が空でない文字列に設定] ダイアログ ボックスで、チェック ボックスが表示されます。 値は、空の文字列は、チェック ボックスは表示されません。 |
CheckboxState |
bool |
取得またはチェック ボックスの状態を設定します。 falseに設定されている場合、ダイアログ ボックスを起動します] チェック ボックスは消去されます。 trueが指定されている場合、ダイアログ ボックスの CheckboxTextが空でない文字列が開始されると、このチェック ボックスが選択されます。 |
WindowHandle |
ulong |
クイック ファイリング ダイアログ ボックス ウィンドウのハンドル ID を取得します。 |
TreeDepth |
HierarchyElement |
取得または設定、OneNote ツリー深さ、すべてのノートブック セクションに表示されます。 既定では最大のセクションでは、ツリーが表示されます。 このプロパティは要素の種類を選択することができます。 TreeDepth設定されている場合、要素をボタンのいずれかを選択できますが、OneNote の階層の下位に、表示されているツリーの深さは最も低い可能の選択可能な要素になります。 つまり、ツリーの深さは、ページに表示する設定が選択可能な最小の要素は、セクション、セクションにツリーが表示されます。 |
ParentWindowHandle |
ulong |
取得またはダイアログ ボックスの親ウィンドウのハンドル ID を設定します。 このプロパティが設定されている場合クイック ファイリング] ダイアログ ボックスになります割り当てられている親ウィンドウをモーダル ダイアログ ボックスを開くと。 ユーザーはクイック ファイリング] ダイアログ ボックスが閉じられるまで、親ウィンドウにアクセスすることはできません。 |
Position |
tagPOINT |
取得または、画面を基準にして、[ウィンドウの位置を設定します。 既定では親ウィンドウまたはデスクトップの中央に、ダイアログ ボックスが表示されます。 |
SelectedItem |
string |
ダイアログ ボックスを閉じたときに、ユーザーが選択した OneNote の場所のオブジェクト ID を取得します。 オブジェクトが設定されている場合は、ユーザーが [キャンセル] ボタンをクリックすると、null にします。 |
PressedButton |
ulong |
ダイアログ ボックスが閉じるときにクリックしてされたボタンを取得します。 [キャンセル] ボタンがクリックしてされた場合は、このプロパティは-1 を返します。 他のすべてのボタンがダイアログ ボックスに追加のボタンごとに 1 ずつインクリメントされます、0 から整数値が割り当てられます。 既定の [ok] ボタンの整数の値は 0 です。 |
メソッド
SetRecentResults
値 | 説明 |
---|---|
説明 |
[クイック ファイリング] ダイアログ ボックスに表示される最近の結果リストを設定し、一覧に特別なファイリングの場所を含めるかどうかを示します。 ユーザーは RecentResultType 列挙から最近の結果リストを選択できます。 ユーザーは、現在のセクション、現在のページ、またはファイルされていないノートの一覧に次のオプションを追加することもできます。 RecentResultType.rrtNone が選択されている場合、最近の結果リストは表示されません。 |
構文 |
HRESULT SetRecentResults ( [in]RecentResultType recentResults, [in]VARIANT_BOOL fShowCurrentSection, [in]VARIANT_BOOL fShowCurrentPage, [in]VARIANT_BOOL fShowUnfiledNotes); |
パラメーター |
recentResults – RecentResultType 型のオブジェクトで、最新の結果リスト (存在する場合) を示します。
rrtNoneがオンの場合] ダイアログ ボックスで最新の結果のリストは表示されません。 fShowCurrentSection – 現在のセクションを最近の結果リストに含めるかどうかを示すブール値。 fShowCurrentPage – 現在のページを最近の結果リストに含めるかどうかを示すブール値。 fShowUnfiledNotes – [未ファイルのメモ] セクションを最近の結果リストに含めるかどうかを示すブール値。 |
注:
[!メモ] 特別なファイリングの場所] ダイアログ ボックスで、ボタンのいずれかで選択できません、する場合、一覧には表示されません。 最近の結果の一覧で、選択可能な項目が見つからない場合、結果の最新のリストは表示されません。
次の使用例は、最近の結果の一覧で、現在のセクション、現在のページと、落書きノート セクションを表示するのに、 SetRecentResultsメソッドを使用します。
static void Main(string[] args)
{
Microsoft.Office.Interop.OneNote.Application app =
new Microsoft.Office.Interop.OneNote.Application();
...
// RECENT RESULTS
qfDialog.SetRecentResults(RecentResultType.rrtFiling,
/*Current Section*/ true,
/*Current Page*/ true,
/*Unfiled Notes*/ true);
...
}
AddButton
値 | 説明 |
---|---|
説明 |
ユーザーを追加し、ダイアログ ボックスのボタンをカスタマイズできます。 ユーザーは、ボタンと各ボタンで選択できるは、OneNote の階層の要素に、テキストを指定できます。 |
構文 |
HRESULT AddButton ( [in]BSTR bstrText, [in]HierarchyElement allowedElements, [in]HierarchyElement allowedReadOnlyElements, [in]VARIANT_BOOL fDefault); |
パラメーター |
bstrText – ボタンに表示するテキストを指定する文字列。 既定の [ok] ボタンをカスタマイズするには、null 値 bstrTextとして渡します。 allowedElements – ユーザーがボタンを使用して選択できる読み取り専用以外の OneNote 階層要素を示す HierarchyElement 。 For selecting multiple items, the user should pass in the OR operator for all the uint equivalent values of the HierarchyElement types allowed as a HierarchyElement. allowedReadOnlyElements – ユーザーがボタンを使用して選択できる OneNote の読み取り専用階層要素を示す HierarchyElement 。 For selecting multiple items, the user should pass in the OR operator for all the uint equivalents values of the HierarchyElement types allowed as a HierarchyElement. fDefault – このボタンを既定のボタンにするかどうかを指定するブール値。 複数のボタンを既定値として設定した場合、最後に指定したボタンが既定のボタンになります。 |
次の使用例は、3 つのボタンをクイック ファイリング ダイアログ ボックス。 OneNote の階層ツリー内のすべての要素を すべて最初のものを選択できます。 他、 ノートブックページ、ノート パソコンと、ページは、対応する要素が選択されている場合にのみ選択できます。
static void Main(string[] args)
{
Microsoft.Office.Interop.OneNote.Application app =
new Microsoft.Office.Interop.OneNote.Application();
...
// BUTTONS
HierarchyElement heAll = (HierarchyElement)
((uint)HierarchyElement.heNotebooks |
(uint)HierarchyElement.heSectionGroups |
(uint)HierarchyElement.heSections |
(uint)HierarchyElement.hePages);
qfDialog.AddButton("All", heAll, heAll, true);
qfDialog.AddButton("Notebooks", HierarchyElement.heNotebooks,
HierarchyElement.heNotebooks, false);
qfDialog.AddButton("Pages", HierarchyElement.hePages,
HierarchyElement.hePages, false);
...
}
Run
値 | 説明 |
---|---|
説明 |
新しいスレッドからクイック ファイリング ダイアログ ボックスが表示されます。 ダイアログ ボックスを閉じますを OnDialogClosedメソッドが呼び出されます、 IQuickFilingDialogCallbackインターフェイスへの参照になります。 |
構文 |
HRESULT Run ( [in]IQuickFilingDialogCallback piCallback); |
パラメーター |
piCallback – ダイアログ ボックスが閉じるとインスタンス化される IQuickFilingDialogCallback インターフェイスへの参照。 |
新しいスレッドからクイック ファイリング ダイアログ ボックスを表示、 Runメソッドを次のコード例に示します。
class OpenQuickFilingDialog
{
...
static void Main(string[] args)
{
Microsoft.Office.Interop.OneNote.Application app =
new Microsoft.Office.Interop.OneNote.Application();
...
// Display Quick Filing UI
qfDialog.Run(new Callback());
...
}
}
TreeCollapsedState
値 | 説明 |
---|---|
説明 |
階層ツリーを展開または縮小する必要があるかどうかを示します。 |
構文 |
HRESULT TreeCollapsedState( [in] TreeCollapsedStateType tcs); |
パラメーター |
tcsでは、ツリーを展開するか、折りたたまれているかどうかを指定します。 |
NotebookFilterOut
値 | 説明 |
---|---|
説明 |
ノート パソコンの種類別に表示の一覧をフィルター処理します。 |
構文 |
HRESULT NotebookFilterOut( [in] NotebookFilterOutType nfo); |
パラメーター |
nfo - は、ボックスの一覧からフィルターを適用するのには、ノートブックのセットを指定します。 |
ShowCreateNewNotebook
値 | 説明 |
---|---|
説明 |
新規のノートブックの作成] ダイアログ ボックスを表示します。 |
構文 |
HRESULT ShowCreateNewNotebook (); |
パラメーター |
なし |
AddInitialEditor
値 | 説明 |
---|---|
説明 |
クイック ファイリング] ダイアログ ボックスで、ノートを初期のエディターとしてユーザーを追加します。 |
構文 |
HRESULT AddInitialEditor (BSTR initialEditor); |
パラメーター |
initialEditorのノートブックには、エディターとして追加するユーザーの電子メール アドレス。 クイック ファイリング] ダイアログ ボックスを使用してノートブックを作成するときに初期のすべてのエディターで自動的に共有されます。 |
ClearInitialEditors
値 | 説明 |
---|---|
説明 |
クイック ファイリング ダイアログ ボックスからすべての最初のエディターを削除します。 |
構文 |
HRESULT ClearInitialEditors (); |
パラメーター |
なし |
ShowSharingHyperlink
値 | 説明 |
---|---|
説明 |
クイック ファイリング] ダイアログ ボックスで、共有のヘルプ ハイパーリンクが表示されます。 |
構文 |
HRESULT ShowSharingHyperlink(); |
パラメーター |
なし |
IQuickFilingDialogCallback インターフェイス
このインターフェイス、ダイアログ ボックスを閉じた後、ダイアログ ボックスのプロパティにアクセスすることができます。 OneNote 2013は、ダイアログ ボックスを閉じると、このインターフェイスの IQuickFilingDialogCallback.OnDialogCloseメソッドを呼び出します。
このインターフェイスを継承するクラスを定義するのには。
メソッド
次のセクションは以前詳細なインターフェイスに関連付けられたメソッドについて説明します。
OnDialogClosed
値 | 説明 |
---|---|
説明 |
キャプチャ] ダイアログ ボックスで、ユーザーの選択を使用して機能を追加することができます。 クイック ファイリング] ダイアログ ボックスを閉じた後に、このメソッドは呼び出されます。 このメソッドは、 IQuickFilingDialogCallbackインタ フェースを定義する必要がある関数です。 |
構文 |
HRESULT OnDialogClosed ( [in]IQuickFilingDialog dialog); |
パラメーター |
dialog – OnDialogClose メソッドを呼び出した IQuickFilingDialog オブジェクト。 |
次の使用例は、サンプルの IQuickFilingDialogCallbackインターフェイスです。 OnDialogCloseメソッドは、ユーザーの選択クイック ファイリング] ダイアログ ボックスでコンソールに出力します。
class Callback : IQuickFilingDialogCallback
{
public Callback(){}
public void OnDialogClosed(IQuickFilingDialog qfDialog)
{
Console.WriteLine(qfDialog.SelectedItem);
Console.WriteLine(qfDialog.PressedButton);
Console.WriteLine(qfDialog.CheckboxState);
}
}
例
次のコード例では、カスタマイズされたタイトル、説明、最近の結果のリスト、ツリーの深さ、] チェック ボックスおよびボタンは、クイック ファイリング ダイアログ ボックスを開きます。 ユーザーのボタンを押して、項目を選択して、ダイアログ ボックスを閉じると、コンソール ウィンドウでチェック ボックスの状態が表示されます。 有効になっているページのボタンを表示するには、ユーザーはツリーの深さはのセクションに設定されているため、ページを検索し、選択する必要があります。 ダイアログ ボックスは任意のウィンドウの子ウィンドウです。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using Microsoft.Office.Interop.OneNote;
namespace SampleQFD
{
class OpenQuickFilingDialog
{
private static EventWaitHandle wh = new AutoResetEvent(false);
private static IQuickFilingDialog qfDialog;
private static String strTitle = "Sample Title";
private static String strDescription = "Sample Description";
private static String strCheckboxText = "Sample Checkbox";
static void Main(string[] args)
{
Microsoft.Office.Interop.OneNote.Application app =
new Microsoft.Office.Interop.OneNote.Application();
// Instantiate Quick Filing UI
qfDialog = app.QuickFiling();
#region//SET API PARAMETERS
// TITLE
qfDialog.Title = strTitle;
// DESCRIPTION
qfDialog.Description = strDescription;
// RECENT RESULTS
qfDialog.SetRecentResults(RecentResultType.rrtFiling,
/*Current Section*/ true,
/*Current Page*/ true,
/*Unfiled Notes*/ true);
// TREE DEPTH
qfDialog.TreeDepth = HierarchyElement.heSections;
// CHECKBOX
qfDialog.CheckboxText = strCheckboxText;
qfDialog.CheckboxState = false;
// BUTTONS
HierarchyElement heAll = (HierarchyElement)
((uint)HierarchyElement.heNotebooks |
(uint)HierarchyElement.heSectionGroups |
(uint)HierarchyElement.heSections |
(uint)HierarchyElement.hePages);
qfDialog.AddButton("All", heAll, heAll, true);
qfDialog.AddButton("Notebooks", HierarchyElement.heNotebooks,
HierarchyElement.heNotebooks, false);
qfDialog.AddButton("Pages", HierarchyElement.hePages,
HierarchyElement.hePages, false);
// PARENTWINDOW
#endregion
// Display Quick Filing UI
qfDialog.Run(new Callback());
// Clean up and Wait so console window does not close
qfDialog = null;
wh.WaitOne();
}
}
class Callback : IQuickFilingDialogCallback
{
public Callback(){}
public void OnDialogClosed(IQuickFilingDialog qfDialog)
{
Console.WriteLine(qfDialog.SelectedItem);
Console.WriteLine(qfDialog.PressedButton);
Console.WriteLine(qfDialog.CheckboxState);
}
}
}