Как решить эту проблему в стиле TabStop - PullRequest
1 голос
/ 17 февраля 2011

Я знаю, что с помощью функции isDialogMessage () мы можем переключать фокус с одного элемента управления на другой. Мое сомнение -

  • возможно ли переопределить, что элемент управления должен фокусироваться от первой кнопки к третьей кнопке.
  • Если возможно, как настроить свойство WS_TABSTOP

Мне также нравится знать, на каком основании фокус смещается с контроля на контроль.

Как установить свойство tabindex для каждого элемента управления?

Ответы [ 2 ]

5 голосов
/ 17 февраля 2011

Порядок остановки табуляции зависит от порядка, в котором элементы управления были добавлены в диалоге.Вы можете открыть диалоговое окно в редакторе ресурсов в Visual Studio и нажать CTRL + D , чтобы просмотреть и изменить порядок вкладок.

Чтобы изменить, просто нажмите на номер, который появляется в левом верхнем углу элемента управления.Элемент управления с номером 1 будет первым элементом управления, который будет фокусироваться на вашем диалоге, порядок задается последовательными номерами.Используя этот метод, вы можете установить любой порядок табуляции.

Надеюсь, это поможет.

1 голос
/ 24 февраля 2011

Определите, какой элемент управления, после которого вы хотите вставить новый элемент управления в порядке вкладок, затем используйте SetWindowPos следующим образом:

SetWindowPos (hNewControl, hOldControl, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);

Это изменяет z-порядок элементов управления, который, в свою очередь, устанавливает порядок табуляции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...