Unity中的窗口最大化最小化及窗口还原

发表于2018-06-27
评论0 8.3k浏览
窗口最大化、最小化和窗口还原在开发过程中都属于比较基础的功能,下面就和大家介绍下Unity中的窗口最大化、最小化及窗口还原的实现。

代码如下:
using System;  
using System.Collections;  
using System.Collections.Generic;  
using System.Runtime.InteropServices;  
using UnityEngine;  
public class WindowMaxAndMin : MonoBehaviour {  
[DllImport("user32.dll")]  
    public static extern bool ShowWindow(IntPtr hwnd, int nCmdShow);  
    [DllImport("user32.dll")]  
    static extern IntPtr GetForegroundWindow();  
    const int SW_SHOWMINIMIZED = 2; //{最小化, 激活}  
    const int SW_SHOWMAXIMIZED = 3;//最大化  
    const int SW_SHOWRESTORE = 1;//还原  
    public void OnClickMinimize()  
    { //最小化   
        ShowWindow(GetForegroundWindow(), SW_SHOWMINIMIZED);  
    }  
    public void OnClickMaximize()  
    {  
        //最大化  
        ShowWindow(GetForegroundWindow(), SW_SHOWMAXIMIZED);  
    }  
    public void OnClickRestore()  
    {  
        //还原  
        ShowWindow(GetForegroundWindow(), SW_SHOWRESTORE);  
    }  
    //测试  
    public void OnGUI()  
    {  
        if(GUI.Button(new Rect(100,100,200,100),"最大化"))  
            OnClickMaximize();  
        if (GUI.Button(new Rect(100, 300, 200, 100), "最小化"))  
            OnClickMinimize();  
        if (GUI.Button(new Rect(100, 500, 200, 100), "窗口还原"))  
            OnClickRestore();  
    }  
}

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

标签: