还在因为使用VC2010自定义对话框,而使界面惨不忍睹吗?那就试试VC2010的新功能,基于对话框的HTML dialog吧!
1.建立HTML Dialog
2.让它支持javascript外部调用函数
//1.在OnInitDialog()中添加:
EnableAutomation(); //支持自动化
SetExternalDispatch(GetIDispatch(TRUE));//将浏览器控件的扩展接口设置为对话框自身的IDispatch
//2.CFileAssistDlg.h中声明:
DECLARE_DISPATCH_MAP()
//3.CFileAssistDlg.cpp中添加:
BEGIN_DISPATCH_MAP(CFileAssistDlg, CDHtmlDialog)
DISP_FUNCTION(CFileAssistDlg, "ConvertData", ConvertData, VT_BSTR, VTS_BSTR)
END_DISPATCH_MAP()
//4.重载CanAccessExternal()函数
BOOL CFileAssistDlg::CanAccessExternal()
{
return TRUE; //避免弹出Windows认为不安全的对话框
}
//5.建立ConvertData方法:
BSTR CFileAssistDlg::ConvertData(LPCSTR kekCode)
{
returnString = "hello...\n";
BSTR bstrText = returnString.AllocSysString();
return bstrText;
}
//6.javascript中建立接口函数:
function Button1_onclick()
{
var kekCode = document.getElementById("TextEnc").value;
document.getElementById("TextArea1").value = external.ConvertData(kekCode);
}
3.效果图
转载请注明出处:http://blog.csdn.net/yxstars/article/details/8476779