解决方案 »
- mfc调用acrobat.dll的问题
- 多文档视图分割后,如何为每个视图添加滚动条
- 菜鸟提问:有关vc读取Access数据库的问题!急!!!
- CString类的数值与int型数值如何合并?
- 初学vc,请教大家个问题:例如一些字符串处理的函数(和利用timer事件处理数据库查询)一般都作为窗口类的成员函数存在吗?还是另建一个
- 请问Windows核心编程里的例子是什么类型的程序,是Win32 Application还是其他的,为什么我在用VC对例子重新编译时里面的很多函数都错了
- 以知一个精确时间(年.月.日.时.分.秒),如何根据输入的秒数,精确计算出新的时间时间? 如何比较两个精确时间的大小?
- 请问两个VIEW的SDI里面如何让一个VIEW对菜单进行响应?
- 一个关于内存分配的问题,比较初级,可是我一直没搞清楚
- 求助关于切分窗口后菜单项变灰(已经与相关视类添加消息响应函数)?
- 怎样用代码实现在列表控件里选择一项(类似SetCurSel()^^)
- 2008QQ界面代码,分享,没有写完。有图
//调用javascript
CComVariant CDataImportDlg::ExecJavascript(const CString strFunc,
const CStringArray& paramArray,IHTMLDocument2 *pIHTMLDocument2)
{
.........
}
以上代码就是在网上找的,关于js参数为CStringArray& paramArray 但是我的js是需要一个对象,不知道这个参数该怎么写function doBlur(obj){
alert(obj.value);
return;
}
函数参数的类型是IDispatch么?
return;
} 有方法和属性的要实现IDispatch……
maxLength=18 name=GMSFZHM fieldname="GMSFZHM" kind="idcard" must="true"
showInput="false" birthdate="CSRQ" sex="XB" rkbm="RKBM" rkname="XM"
rksfzh="GMSFZHM">
多谢。
<INPUT class=Edit id=GMSFZHM onblur=doBlur(this)
maxLength=18 name=GMSFZHM fieldname="GMSFZHM" kind="idcard" must="true"
showInput="false" birthdate="CSRQ" sex="XB" rkbm="RKBM" rkname="XM"
rksfzh="GMSFZHM">
function doBlur(obj){ alert(obj.value);
return;
} 我想在VC中控制执行onblur事件,但是出错,给input执行blur和直接给这个input设置focus出现一样的错误
提示错误信息"the value of ESP was not properly saved across a funciton call.This is usually a result of calling a function declared with one call convention with a functioin pointer declared with a different calling convention". 然后我就想变个方法,直接在VC中调用doBlur这个js,从网上找执行的方法
CComVariant CDataImportDlg::ExecJavascript(const CString strFunc,
const CStringArray& paramArray,IHTMLDocument2 *pIHTMLDocument2)
{
.........
}
由于doBlur的参数是当前input控件,而这个函数的参数是CStringArray类型,所有不知道应该怎么传这个参数。
不知道我说的是否明白。。多谢,多谢。
hResult = pScript-> Invoke
(pDISPID, IID_NULL, 0, DISPATCH_METHOD, &pDISPPARAMS, &pCComVariant, &pEXCEPINFO, &nintArgErr);
直接执行脚本也可以。
for(long i=0; i <nFormCount; i++)
{
IHTMLElement *pElem = NULL;
hr = spElementCollection->item( CComVariant( i ), CComVariant(), (LPDISPATCH*)&pElem);
CComQIPtr <IHTMLControlElement> pCtrlElem(pElem);
if(pCtrlElem!=NULL)
{
pCtrlElem->focus();
} }
刚刚接触,知道的太少了
应该声明一个IDispatch指针,等item返回之后用QueryInterface获得其他接口
IDispatch* pdispatch = NULL;
IHTMLControlElement* pcontrol = NULL; pHtml-> item(COleVariant(name), COleVariant((long)0), &pdispatch);
result = pdispatch-> QueryInterface(IID_IHTMLControlElement, (void**)&pcontrol);
pdispatch-> Release();
if(FAILED(result) || pcontrol==NULL)
return;
pcontrol->put_tabIndex(1);
pcontrol->blur();
pcontrol-> Release(); pHtml-> Release(); 我这样写还是同样的问题啊
有哪位同学知道原因。
你说的是blur在VC6下没有吗?