Cursor.Draw メソッド
カーソルを、指定した範囲内の、指定した表面に描画します。
Public Sub Draw( _
ByVal g As Graphics, _ ByVal targetRect As Rectangle _)
[C#]
public void Draw(Graphicsg,RectangletargetRect);
[C++]
public: void Draw(Graphics* g,RectangletargetRect);
[JScript]
public function Draw(
g : Graphics,targetRect : Rectangle);
パラメータ
解説
描画コマンドは g パラメータで表すグラフィックスの表面で開始されますが、 Graphics は指定されたイメージの描画方法に関する情報を格納していないため、この呼び出しを Cursor に渡します。 Draw メソッドは、イメージを指定した大きさにトリミングします。また、このメソッドにより、 Rectangle を指定すると、その範囲内で Cursor を描画できます。通常、このメソッドは、グラフィックスの表面にカーソルを描画する場合に使用します。たとえば、ユーザーが ListBox コントロールまたは RadioButton コントロールのグループからカーソルを選択できるダイアログがある場合などに使用します。
使用例
[Visual Basic, C#, C++] フォーム上に、指定されたカーソルをその通常サイズで描画し、次にストレッチ モードで 2 倍のサイズに描画する例を次に示します。この例は、 Form があり、呼び出されたときにメソッドに渡す Cursor オブジェクトがあることを前提にしています。
Private Sub DrawCursorsOnForm(cursor As Cursor)
' If the form's cursor is not the Hand cursor and the
' Current cursor is the Default, Draw the specified
' cursor on the form in normal size and twice normal size.
If (Not Me.Cursor.Equals(Cursors.Hand)) And _
Cursor.Current.Equals(Cursors.Default) Then
' Draw the cursor stretched.
Dim graphics As Graphics = Me.CreateGraphics()
Dim rectangle As New Rectangle(New Point(10, 10), _
New Size(cursor.Size.Width * 2, cursor.Size.Height * 2))
cursor.DrawStretched(graphics, rectangle)
' Draw the cursor in normal size.
rectangle.Location = New Point(rectangle.Width + _
rectangle.Location.X, rectangle.Height + rectangle.Location.Y)
rectangle.Size = cursor.Size
cursor.Draw(graphics, rectangle)
' Dispose of the cursor.
cursor.Dispose()
End If
End Sub
[C#]
private void DrawCursorsOnForm(Cursor cursor)
{
// If the form's cursor is not the Hand cursor and the
// Current cursor is the Default, Draw the specified
// cursor on the form in normal size and twice normal size.
if(this.Cursor != Cursors.Hand &
Cursor.Current == Cursors.Default)
{
// Draw the cursor stretched.
Graphics graphics = this.CreateGraphics();
Rectangle rectangle = new Rectangle(
new Point(10,10), new Size(cursor.Size.Width * 2,
cursor.Size.Height * 2));
cursor.DrawStretched(graphics, rectangle);
// Draw the cursor in normal size.
rectangle.Location = new Point(
rectangle.Width + rectangle.Location.X,
rectangle.Height + rectangle.Location.Y);
rectangle.Size = cursor.Size;
cursor.Draw(graphics, rectangle);
// Dispose of the cursor.
cursor.Dispose();
}
}
[C++]
private:
void DrawCursorsOnForm(System::Windows::Forms::Cursor* cursor) {
// If the form's cursor is not the Hand cursor and the
// Current cursor is the Default, Draw the specified
// cursor on the form in normal size and twice normal size.
if (this->Cursor != Cursors::Hand &&
System::Windows::Forms::Cursor::Current == Cursors::Default) {
// Draw the cursor stretched.
Graphics* graphics = this->CreateGraphics();
Rectangle rectangle = Rectangle( Point(10, 10), System::Drawing::Size(cursor->Size.Width * 2,
cursor->Size.Height * 2));
cursor->DrawStretched(graphics, rectangle);
// Draw the cursor in normal size.
rectangle.Location = Point(rectangle.Width + rectangle.Location.X,
rectangle.Height + rectangle.Location.Y);
rectangle.Size = cursor->Size;
cursor->Draw(graphics, rectangle);
// Dispose of the cursor.
cursor->Dispose();
}
}
[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 ファミリ
参照
Cursor クラス | Cursor メンバ | System.Windows.Forms 名前空間 | DrawStretched