# DragWindow

> Make a window draggable.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine](/engine/6000.7/script-reference/unityengine.md)
* **Assembly:** UnityEngine.IMGUIModule

## DragWindow(Rect)

Make a window draggable.

```csharp
public static void DragWindow(Rect position)
```

### Parameters

**** (\[Rect]\(/engine/6000.7/script-reference/unityengine/rect)): The part of the window that can be dragged. This is clipped to the actual window.

### Remarks

Insert a call to this function inside your window code to make a window draggable.

### Examples

```csharp
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour
{
    public Rect windowRect = new Rect(20, 20, 120, 50);

    void OnGUI()
    {
        // Register the window.
        windowRect = GUI.Window(0, windowRect, DoMyWindow, "My Window");
    }

    // Make the contents of the window
    void DoMyWindow(int windowID)
    {
        // Make a very long rect that is 20 pixels tall.
        // This will make the window be resizable by the top
        // title bar - no matter how wide it gets.
        GUI.DragWindow(new Rect(0, 0, 10000, 20));
    }
}
```

## DragWindow()

If you want to have the entire window background to act as a drag area, use the version of DragWindow that takes no parameters and put it at the end of the window function.

```csharp
public static void DragWindow()
```

### Remarks

This will mean that any other controls will get precedence and the dragging will only be activated if nothing else has mouse focus.

Additional Resources: [GUI.DragWindow](/engine/6000.7/script-reference/unityengine/gui/dragwindow.md), [GUI.BringWindowToFront](/engine/6000.7/script-reference/unityengine/gui/bringwindowtofront.md), [GUI.BringWindowToBack](/engine/6000.7/script-reference/unityengine/gui/bringwindowtoback.md)

### Examples

```csharp
using UnityEngine;

public class ExampleClass : MonoBehaviour
{
    public Rect windowRect = new Rect(20, 20, 120, 50);

    void OnGUI()
    {
        windowRect = GUI.Window(0, windowRect, DoMyWindow, "My Window");
    }

    // Make the contents of the window
    void DoMyWindow(int windowID)
    {
        GUI.Button(new Rect(10, 20, 100, 20), "Can't drag me");
        // Insert a huge dragging area at the end.
        // This gets clipped to the window (like all other controls) so you can never
        //  drag the window from outside it.
        GUI.DragWindow(new Rect(0, 0, 10000, 20));
    }
}
```
