Legacy Documentation: Version 4.6(go to latest)
Language: English
  • C#
  • JS
  • Boo

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

GUI.DragWindow

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

public static function DragWindow(position: Rect): void;
public static void DragWindow(Rect position);
public static def DragWindow(position as Rect) as void

Parameters

position The part of the window that can be dragged. This is clipped to the actual window.

Description

Make a window draggable.

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

	var windowRect : Rect = Rect (20, 20, 120, 50);

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

// Make the contents of the window function DoMyWindow (windowID : int) { // 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 (Rect (0,0, 10000, 20)); }
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    public Rect windowRect = new Rect(20, 20, 120, 50);
    void OnGUI() {
        windowRect = GUI.Window(0, windowRect, DoMyWindow, "My Window");
    }
    void DoMyWindow(int windowID) {
        GUI.DragWindow(new Rect(0, 0, 10000, 20));
    }
}
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	public windowRect as Rect = Rect(20, 20, 120, 50)

	def OnGUI() as void:
		windowRect = GUI.Window(0, windowRect, DoMyWindow, 'My Window')

	def DoMyWindow(windowID as int) as void:
		GUI.DragWindow(Rect(0, 0, 10000, 20))

public static function DragWindow(): void;
public static void DragWindow();
public static def DragWindow() as void

Description

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.

This will mean that any other controls will get precedence and the dragging will only be activated if nothing else has mouse focus. See Also: DragWindow, BringWindowToFront, BringWindowToBack.

	var windowRect : Rect = Rect (20, 20, 120, 50);

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

// Make the contents of the window function DoMyWindow (windowID : int) { GUI.Button (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 (); }
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    public Rect windowRect = new Rect(20, 20, 120, 50);
    void OnGUI() {
        windowRect = GUI.Window(0, windowRect, DoMyWindow, "My Window");
    }
    void DoMyWindow(int windowID) {
        GUI.Button(new Rect(10, 20, 100, 20), "Can't drag me");
        GUI.DragWindow();
    }
}
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	public windowRect as Rect = Rect(20, 20, 120, 50)

	def OnGUI() as void:
		windowRect = GUI.Window(0, windowRect, DoMyWindow, 'My Window')

	def DoMyWindow(windowID as int) as void:
		GUI.Button(Rect(10, 20, 100, 20), 'Can\'t drag me')
		GUI.DragWindow()