IDataObject.GetDataPresent メソッド (String, Boolean)
インスタンスに格納されているデータが、指定した形式に関連付けられているかどうかを確認します。データを指定形式に変換できるかどうかを確認するためにブール値を使用します。
Function GetDataPresent( _
ByVal format As String, _ ByVal autoConvert As Boolean _) As Boolean
[C#]
bool GetDataPresent(
stringformat,boolautoConvert);
[C++]
bool GetDataPresent(
String* format,boolautoConvert);
[JScript]
function GetDataPresent(
format : String,autoConvert : Boolean) : Boolean;
パラメータ
- format
確認対象の形式。定義済みの形式については、 DataFormats のトピックを参照してください。 - autoConvert
インスタンスに格納されているデータを指定した形式に変換できるかどうかを確認する場合は true 。データが指定した形式かどうかを確認する場合は false 。
戻り値
データが指定した形式である場合や、その形式に変換できる場合は true 。それ以外の場合は false 。
解説
DataObject に形式が格納されているかどうかを確認するには、 GetData を呼び出す前に、このメソッドを呼び出します。インスタンスで使用できる形式を取得するには、 GetFormats を呼び出します。
このメソッドは、次の場合に true を返します。
- autoConvert パラメータが true に設定されていて、データが適切な形式に変換できる形式である場合。
- autoConvert パラメータが false に設定されていて、データが適切な形式である場合。
このメソッドは、次の場合に false を返します。
- autoConvert パラメータが true に設定されていて、このメソッドが指定した形式のデータを見つけることができず、かつデータを指定形式に変換できない場合、またはデータの格納時に autoConvert に false が設定されていた場合。
- autoConvert パラメータが false に設定されていて、指定した形式のデータがこのインスタンスに存在しない場合。
メモ 形式変換を有効にしてデータが格納されている場合、要求した形式が、格納されている形式と互換性があれば、そのデータを別の形式に変換できます。たとえば、Unicode として格納されたデータをテキストに変換できます。
このメソッドの実装については、 DataObject.GetDataPresent のトピックを参照してください。
使用例
[Visual Basic, C#, C++] この例では、 IDataObject を実装する DataObject クラスを使用して GetDataPresent メソッドの使用法を示します。最初に、文字列および Text 形式を使用してデータ オブジェクト (myDataObject
) を作成します。次に、 autoConvert パラメータを false に設定して、 Text 形式に関連付けられているデータをオブジェクトに問い合わせます。これは失敗し、その結果が "Message #1" というラベルの付いたメッセージ ボックスに表示されます。2 回目には、 autoConvert パラメータを true に設定します。これは成功し、その結果が "Message #2" というラベルの付いたメッセージ ボックスに表示されます。この例は、 Form1
という名前の Form を作成済みであることを前提にしています。
Private Sub GetDataPresent3()
' Creates a new data object using a string and the Text format.
Dim myDataObject As New DataObject(DataFormats.Text, "My String")
' Checks whether the string can be displayed with autoConvert equal to false.
If myDataObject.GetDataPresent("System.String", False) Then
MessageBox.Show(myDataObject.GetData("System.String", False).ToString() + ".", "Message #1")
Else
MessageBox.Show("Cannot convert data to the specified format with autoConvert set to false.", "Message #1")
End If
' Displays the string with autoConvert equal to true.
MessageBox.Show(("Now that autoConvert is true, you can convert " + myDataObject.GetData("System.String", _
True).ToString() + " to string format."), "Message #2")
End Sub 'GetDataPresent3
[C#]
private void GetDataPresent3()
{
// Creates a new data object using a string and the Text format.
DataObject myDataObject = new DataObject(DataFormats.Text, "My String");
// Checks whether the string can be displayed with autoConvert equal to false.
if(myDataObject.GetDataPresent("System.String", false))
MessageBox.Show(myDataObject.GetData("System.String", false).ToString(), "Message #1");
else
MessageBox.Show("Cannot convert data to the specified format with autoConvert set to false.", "Message #1");
// Displays the string with autoConvert equal to true.
MessageBox.Show("Now that autoConvert is true, you can convert " +
myDataObject.GetData("System.String", true).ToString() + " to string format.","Message #2");
}
[C++]
private:
void GetDataPresent3() {
// Creates a new data object using a string and the Text format.
DataObject* myDataObject = new DataObject(DataFormats::Text, S"My String");
// Checks whether the string can be displayed with autoConvert equal to false.
if (myDataObject->GetDataPresent(S"System::String", false))
MessageBox::Show(
myDataObject->GetData(S"System::String", false)->ToString(),
S"Message #1");
else
MessageBox::Show(
S"Cannot convert data to the specified format with autoConvert set to false.",
S"Message #1");
// Displays the string with autoConvert equal to true.
MessageBox::Show(String::Concat(S"Now that autoConvert is true, you can convert ",
myDataObject->GetData(S"System::String", true),
S" to string format."), S"Message #2");
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
IDataObject インターフェイス | IDataObject メンバ | System.Windows.Forms 名前空間 | IDataObject.GetDataPresent オーバーロードの一覧 | IDataObject.SetData | IDataObject.GetData | DataObject.GetDataPresent | IDataObject.GetFormats