Изменить порядок вкладок по коду в диалоге MFC - PullRequest
4 голосов
/ 12 ноября 2010

Я создал элемент управления по коду в OnInitDialog, но не могу найти способ изменить порядок перехода в диалоговом окне по коду.

У кого-нибудь есть идеи, как это сделать?

Ответы [ 2 ]

9 голосов
/ 12 ноября 2010

Порядок вкладок элементов управления в диалоге регулируется Z-порядком этих элементов управления. Таким образом, чтобы изменить порядок табуляции, измените z-порядок расположения соответствующих элементов управления.

Вы можете изменить z-порядок, используя SetWindowPos . См., Например, this .

8 голосов
/ 11 июня 2015


Первый вариант

использование ctrl + d в представлении ресурсов в Visual Studio.и измените порядок табуляции


Другой вариант

Более простое решение - измените последовательность элементов управления в .rc файле ... чтоизменит порядок вкладок и порядок z.

Например.в этом диалоговом окне сначала будет IDOK порядка табуляции, затем IDCANCEL

IDD_ABOUT DIALOG DISCARDABLE  0, 0, 239, 66
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "My About Box"
FONT 8, "MS Sans Serif"
BEGIN
    DEFPUSHBUTTON   "&OK",IDOK,174,18,50,14
    PUSHBUTTON      "&Cancel",IDCANCEL,174,35,50,14
END

, теперь, если вы измените его на

IDD_ABOUT DIALOG DISCARDABLE  0, 0, 239, 66
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "My About Box"
FONT 8, "MS Sans Serif"
BEGIN
    PUSHBUTTON      "&Cancel",IDCANCEL,174,35,50,14
    DEFPUSHBUTTON   "&OK",IDOK,174,18,50,14
END

Сначала будет IDCANCEL табуляции, а затем IDOK

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