Graphics.FromHwnd(IntPtr) Graphics.FromHwnd(IntPtr) Graphics.FromHwnd(IntPtr) Graphics.FromHwnd(IntPtr) Method

Определение

Создает новый объект Graphics из указанного дескриптора окна.Creates a new Graphics from the specified handle to a window.

public:
 static System::Drawing::Graphics ^ FromHwnd(IntPtr hwnd);
public static System.Drawing.Graphics FromHwnd (IntPtr hwnd);
static member FromHwnd : nativeint -> System.Drawing.Graphics
Public Shared Function FromHwnd (hwnd As IntPtr) As Graphics

Параметры

hwnd
IntPtr IntPtr IntPtr IntPtr

Дескриптор окна.Handle to a window.

Возвраты

Этот метод возвращает новый объект Graphics для заданного дескриптора окна.This method returns a new Graphics for the specified window handle.

Примеры

Следующий пример кода предназначен для использования с Windows Forms PaintEventArgsи требует e, что Paint является параметром обработчика Form событий, а также thisFormдля примера.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler, as well as thisForm, the Form for the example. Код выполняет следующие действия.The code performs the following actions:

  • Создает новую переменную hwnd внутреннего указателя и задает ее в качестве маркера формы в примере.Creates a new internal pointer variable hwnd and sets it to the handle of the example's form.

  • Создает новый Graphics объект из маркера.Creates a new Graphics from the handle.

  • Рисует прямоугольник в новом Graphics виде с помощью красного пера.Draws a rectangle to the new Graphics using a red pen.

  • Уничтожает новый Graphicsобъект.Disposes the new Graphics.

public:
   void FromHwndHwnd( PaintEventArgs^ /*e*/ )
   {
      // Get handle to form.
      IntPtr hwnd = this->Handle;

      // Create new graphics object using handle to window.
      Graphics^ newGraphics = Graphics::FromHwnd( hwnd );

      // Draw rectangle to screen.
      newGraphics->DrawRectangle( gcnew Pen( Color::Red,3.0f ), 0, 0, 200, 100 );

      // Dispose of new graphics.
      delete newGraphics;
   }
private void FromHwndHwnd(PaintEventArgs e)
{

    // Get handle to form.
    IntPtr hwnd = this.Handle;

    // Create new graphics object using handle to window.
    Graphics newGraphics = Graphics.FromHwnd(hwnd);

    // Draw rectangle to screen.
    newGraphics.DrawRectangle(new Pen(Color.Red, 3), 0, 0, 200, 100);

    // Dispose of new graphics.
    newGraphics.Dispose();
}
Private Sub FromHwndHwnd(ByVal e As PaintEventArgs)

    ' Get handle to form.
    Dim hwnd As IntPtr = Me.Handle


    ' Create new graphics object using handle to window.
    Dim newGraphics As Graphics = Graphics.FromHwnd(hwnd)

    ' Draw rectangle to screen.
    newGraphics.DrawRectangle(New Pen(Color.Red, 3), 0, 0, 200, 100)

    ' Dispose of new graphics.
    newGraphics.Dispose()
End Sub

Комментарии

Следует всегда вызывать Dispose метод для Graphics освобождения FromHwnd связанных ресурсов, созданных методом.You should always call the Dispose method to release the Graphics and related resources created by the FromHwnd method.

Безопасность

SecurityPermission
для доступа к неуправляемому коду.for access to unmanaged code. Связанное перечисление: UnmanagedCode.Related enumeration: UnmanagedCode.

Применяется к