Cursor.Draw(Graphics, Rectangle) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在指定边界内、指定的表面上绘制光标。
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)
参数
示例
下面的代码示例在其正常大小和拉伸模式下绘制窗体上的指定游标,其大小为两倍。 此示例要求在调用该方法时具有一个 Form 和一个 Cursor 要传入方法的对象。
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
注解
绘图命令源自参数表示 g
的图形图面,但 Graphics 不包含有关如何呈现给定图像的信息,因此它将调用传递给该 Cursor图像。 该方法Draw将图像裁剪为给定维度,并允许指定绘制该Cursor图像的一个Rectangle范围。 如果要在图形图面上绘制光标,则通常使用此方法。 例如,你可能有一个对话框,允许用户从 ListBox 控件或一组 RadioButton 控件中选择游标。