2010-08-11 2 views
0

У меня есть приложение для диалогового окна, написанное в MFC. Диалог имеет 3 дочерних элемента управления на нем. 2 кнопки (кнопка 1 & кнопка 2) и элемент управления HTML (класс, полученный из CHtmlView) HTML-контроль был перемещен на HTML-страницу с двумя флажками (флажок 1 &).CHtmlView класс и фокус

управления Z-Order для фокусировки должен быть, как: Кнопка 1 Кнопка 2 управления HTML затем снова нажмите 1

Когда фокус переходит в HTML Control. Я хочу, чтобы он установил флажок «Флажок 1» &, после нажатия на вкладке он будет установлен на флажок 2. Но когда я нажимаю вкладку, когда фокус включен на флажке 2, я хочу, чтобы она была установлена ​​на кнопку 1.

т.е. я хочу фокус цикла как: Кнопка 1 -> Кнопка 2 -> Check Box 1 в HTML Control -> Check Box 2 в HTML Control -> затем снова нажмите 1

Проблема: Когда фокус установлен на HTML Control, он не устанавливается в поле «Фрагмент 1» и после нажатия вкладки, когда фокус включен. Флажок 2 фокусируется не , вернитесь к кнопке 1.

Сообщите мне, если вопрос недостаточно описателен, я упрощу его. Цените свое время.

ответ

0

Я не могу проверить его, но вы можете попробовать добавить стиль WS_EX_CONTROLPARENT в элемент управления HTML.

int OnInitDialog(...) 
{ 
    HWND html = GetDlgItem(dialog, ID_HTML); 
    DWORD ex_style = GetWindowLong(html, GWL_EXSTYLE); 
    SetWindowLong(html, GWL_EXSTYLE, ex_tyle | WS_EX_CONTROLPARENT); 
    return 0; 
} 

Надеюсь, это сработает.

+0

Спасибо за ваш ответ. Но все еще проблема сохраняется. Как установить фокус на флажок 1 элемента управления HTML после нажатия вкладки на кнопке 2 родительского диалога. Также как вернуть фокус обратно на кнопку 1? Я хочу, чтобы фокусировка выполнялась как кнопка 1 -> кнопка 2 -> флажок 1 -> флажок 2 -> снова кнопка 1. Спасибо, Вайбхав. –

+0

Имеет ли элемент управления HTML стиль WS_TABSTOP? – Tassos

+0

У меня есть диалоговое окно с элементом управления html, который ведет себя как ожидалось (по крайней мере, для ссылок). Строка в файле ресурсов: CONTROL "", IDC_EXPLORER, "{8856F961-340A-11D0-A96B-00C04FD705A2}", WS_TABSTOP, 7,210,333,39 – Tassos

Смежные вопросы