#c #visual-c #mshtml
#c #visual-c #mshtml
Вопрос:
Используя MSHTML, я хотел бы установить фокус пользователя на текстовом элементе, то, что мне давали и пробовали до сих пор, не работает.
CComPtr<IHTMLInputTextElement> field;
field->put_value( .. ); // I have the right element as I can set the text...
VARIANT vStatus;
vStatus.vt = VT_BOOL;
vStatus.boolVal = VARIANT_TRUE;
field->put_status(vStatus);
CComQIPtr<IHTMLInputElement> inputElement(field);
if( inputElement )
inputElement->put_status(VARIANT_TRUE);
и под «не работает» я подразумеваю, что он запускается и не сообщает об ошибках, но фокус на веб-странице не меняется.
Ответ №1:
CComQIPtr<IHTMLElement2 > element2(field);
if(element2!=NULL) element2->focus();
Комментарии:
1. Спасибо, иногда найти правильный интерфейс для нужного действия — это половина проблемы.