Unity 6.3
0 онлайн 2 гостей 3 в системе
Вход

EditorGUI.FocusTextInControl

Declaration

public static void FocusTextInControl(string name);

Параметры

Параметр Описание
имя Набор имен с использованием GUI.SetNextControlName.

Описание

Перемещение фокуса клавиатуры на имя текстового поля и начало редактирования содержимого.

В Редакторе GUI текстовые поля могут иметь фокус клавиатуры без редактирования текста. Например, вы можете переключить фокус между текстовыми полями или другими элементами управления, используя клавиши со стрелками вверх и вниз. После того, как вы нажмете в текстовом поле, начнется редактирование самого текста, а клавиши со стрелками будут использоваться для навигации по текстовому содержимому. EditorGUI.FocusTextInControl похож на GUI.FocusControl в том, что он даёт фокус клавиатуры на элемент управления, но также начинает редактирование самого текста.

Дополнительные ресурсы: GUI.SetNextControlName, GUI.GetNameOfFocusedControl.

using UnityEngine;
using UnityEditor;

public class Example : EditorWindow { // When pressed the button, selects the "username" Textfield. string username = "username"; string pwd = "a pwd"; void OnInspectorGUI() { // Set the internal name of the textfield GUI.SetNextControlName("MyTextField");

// Make the actual text field. username = EditorGUI.TextField(new Rect(10, 10, 100, 20), username); pwd = EditorGUI.TextField(new Rect(10, 40, 100, 20), pwd);

// If the user presses this button, keyboard focus will move. if (GUI.Button(new Rect(10, 70, 80, 20), "Move Focus")) { EditorGUI.FocusTextInControl("MyTextField"); } } }