Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ CDHtmlDialog在输入字段上设置焦点_C++_Windows_User Interface_Msdn - Fatal编程技术网

C++ CDHtmlDialog在输入字段上设置焦点

C++ CDHtmlDialog在输入字段上设置焦点,c++,windows,user-interface,msdn,C++,Windows,User Interface,Msdn,我希望将重点放在我的CDHtmlDialog框中的一个输入字段上,该框名为使用doModal() 我创建了以下代码: CComPtr<IHTMLInputElement> pincode; GetElementInterface(_T("pincode"), IID_IHTMLInputElement, (void **) &pincode); if (pincode == NULL) { return; } pincode-

我希望将重点放在我的
CDHtmlDialog
框中的一个输入字段上,该框名为使用
doModal()

我创建了以下代码:

CComPtr<IHTMLInputElement>  pincode;
GetElementInterface(_T("pincode"),
                    IID_IHTMLInputElement, (void **) &pincode);
if (pincode == NULL) {
    return;
}
pincode->select();
//set the focus
CComPtr<IHTMLElement2>  pincode2;
GetElementInterface(_T("pincode"),
                    IID_IHTMLElement2 , (void **) &pincode2);
if (pincode2 == NULL) {
    return;
}
pincode2->focus();
CComPtr pincode;
GetElementInterface(_T(“pincode”),
IID_IHTMLInputElement(void**)和pincode);
if(pincode==NULL){
返回;
}
pincode->select();
//设定焦点
CComPtr pincode2;
GetElementInterface(_T(“pincode”),
IID_IHTMLElement2,(无效**)和pincode2);
if(pincode2==NULL){
返回;
}
pincode2->focus();
但当我运行应用程序时,焦点并没有设置到输入字段。字段被选中:光标在其中,因此乍一看我们可能认为可以在输入字段中写入,但当我们写入时,字段中不会发生任何事情


有人知道我做错了什么吗?

你不能在html代码中使用javascript吗? 类似于
document.getElementById('pincode').focus()的内容,这可能是一个简单的解决方法

我总是喜欢使用javascript直接在HTML中编写与UI相关的代码(我认为
CDHtmlDialog
有时会有某种深奥的行为)

我的两分钱


我希望这会有所帮助

这是一个好主意,但它的作用与我使用的代码相同:字段似乎已被选中,但当我们尝试编写某些内容时,什么也没有发生。奇怪的是,好像对话框本身没有焦点?它起作用了!一件奇怪的事情发生了:当VisualStudio启动时,正是他获得了焦点,但我一关闭它,我的对话框就有了焦点!谢谢你的回答!