次の方法で共有


Graphics.DrawImageAbort デリゲート

DrawImage メソッドが、実行を早期キャンセルし、イメージの描画を停止するタイミングを決定するコールバック メソッドを提供します。

<Serializable>
<ComVisible(False)>
Public Delegate Function Sub Graphics.DrawImageAbort( _   ByVal callbackdata As IntPtr _) As Boolean
[C#]
[Serializable]
[ComVisible(false)]
public delegate bool Graphics.DrawImageAbort(   IntPtr callbackdata);
[C++]
[Serializable]
[ComVisible(false)]
public __gc __delegate bool Graphics.DrawImageAbort(   IntPtr callbackdata);

[JScript] JScript では、.NET Framework のデリゲートを利用することができます。ただし、独自に定義することはできません。

パラメータ [Visual Basic, C#, C++]

コールバック メソッドの宣言のパラメータは、Graphics.DrawImageAbort デリゲートの宣言と同じでなければなりません。

  • callbackdata
    コールバック メソッドのデータを指定する内部ポインタ。このパラメータは、どの DrawImage オーバーロードでも渡されません。存在しないかどうかをテストするには、値 IntPtr.Zero がないかどうかを確認します。

戻り値

DrawImage メソッドに実行を早期停止させる場合、このメソッドは true を返します。それ以外の場合は false を返して DrawImage メソッドに実行を継続させることを示します。

解説

このメソッドは、 Graphics クラスの DrawImage メソッドと組み合わせて使用します。 DrawImage メソッドの一部のオーバーロードは、アプリケーション定義のこのコールバック メソッドを呼び出して、実行を停止するか継続するかを確認します。

実行時、該当する DrawImage オーバーロードは頻繁にこのコールバック メソッドを呼び出して、指定のイメージの描画を停止するか継続するかを確認します。 Graphics.DrawImageAbort コールバック メソッドでは、継続するかどうかを内部の指定アルゴリズムに基づいて決定します。決定には callbackdata パラメータによって渡されたデータが使用されることもあります。たとえば、アルゴリズムによりイメージが画面外にスクロールしているかどうかを判断し、 DrawImage メソッドに描画の停止を指示するキャンセル シグナルを送ります。

このイベント処理メソッドのユーザー宣言には、 Graphics.DrawImageAbort デリゲート宣言と同じパラメータを含める必要があります。

使用例

[Visual Basic, C#] この例は、 Graphics.DrawImageAbort デリゲートの簡単な実装です。ここでは、 DrawImage メソッドが、callbackdata パラメータを使用してデータを渡すかどうかだけがチェックされます (DrawImage オーバーロードには、 DrawImageAbort パラメータだけを持ちデータを渡さないものと、 DrawImageAbort パラメータと callbackdata パラメータの両方を持ちデータを渡すことのできるものがあります)。データが渡されない場合は true を返して呼び出し元の DrawImage メソッドに描画のキャンセルを指示します。データが渡された場合は false を返して描画の継続を指示します。

[Visual Basic, C#] このコールバックを実際に実装するには、実行をキャンセルするか継続するかの基準を実際に調べてみる必要があります。

 
Private Function DrawImageCallback(callBackData As IntPtr) As Boolean
    ' Test for call that passes callBackData parameter.
    If callBackData.Equals(IntPtr.Zero) Then
        ' If no callBackData passed, abort DrawImage method.
        Return True
    Else
        ' If callBackData passed, continue DrawImage method.
        Return False
    End If
End Function 'DrawImageCallback
      
[C#] 
// Define DrawImageAbort callback method.
private bool DrawImageCallback(IntPtr callbackdata)
{
   // Test for call that passes callBackData parameter.
   if(callbackdata==IntPtr.Zero)
   {
      // If no callbackdata passed, cancel DrawImage method.
      return true;
   }
   else
   {
      // If callbackdata passed, continue DrawImage method.
      return false;
   }
}
      

[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Drawing

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System.Drawing (System.Drawing.dll 内)

参照

System.Drawing 名前空間