Cursor.Draw(Graphics, Rectangle) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Rysuje kursor na określonej powierzchni w określonych granicach.
public:
void Draw(System::Drawing::Graphics ^ g, System::Drawing::Rectangle targetRect);
public void Draw (System.Drawing.Graphics g, System.Drawing.Rectangle targetRect);
member this.Draw : System.Drawing.Graphics * System.Drawing.Rectangle -> unit
Public Sub Draw (g As Graphics, targetRect As Rectangle)
Parametry
Przykłady
Poniższy przykład kodu rysuje określony kursor na formularzu w normalnym rozmiarze i w trybie rozciągniętym, dwa razy większy. Ten przykład wymaga, aby obiekt Form i Cursor został przekazany do metody po jej wywołaniu.
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.
delete cursor;
}
}
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();
}
}
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
Uwagi
Polecenie rysunku pochodzi z powierzchni grafiki reprezentowanej przez g
parametr , ale Graphics nie zawiera informacji o tym, jak renderować dany obraz, więc przekazuje wywołanie do Cursor. Metoda Draw przycina obraz do podanych wymiarów i umożliwia określenie Rectangle elementu , w którym ma być rysowanie elementu Cursor. Ta metoda jest zwykle używana, jeśli chcesz narysować kursor na powierzchni Grafiki. Na przykład może istnieć okno dialogowe, które umożliwia użytkownikowi wybieranie kursorów z ListBox kontrolki RadioButton lub grupy kontrolek.