mfc activex

qjzrd 2009-12-18 03:52:27
关于参数传出问题,
我想通过参数传出一些数据,

现在接口定义为
void CTestOcxCtrl::mymuch(VARIANT FAR* ddd)
{
// TODO: Add your dispatch handler code here
_variant_t var_t;
//var_t = "1111";
//::MessageBox(NULL, VariantToCString(*ddd), "11", MB_OK);

}

在javascript中调用的时候,就报错
js调用如下;

<object classid="clsid:EBC5CA9A-8D4D-41C5-AFF3-EDA16D230C0F" id="hhhhh" height= "100" width="100"></object>

<script lang = "javascript">
function js_click()
{
var sss;
hhhhh.tttttt(sss);

}

</script>
<button name="test" id="testbutton" onclick="js_click()"> test</button>


不能通过,请问如何定义接口
...全文
79 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qjzrd 2009-12-26
  • 打赏
  • 举报
回复
RockEx:
值得注意的是,如果想把JavaScript字符串当作参数传递到控件里,那么MFC的参数应该为BSTR类型

================================================================
那把控件里的字符串,传到javascript里用什么呢类型
qqzone6789 2009-12-20
  • 打赏
  • 举报
回复
ding...
RockEx 2009-12-20
  • 打赏
  • 举报
回复
A Complete ActiveX Web Control Tutorial(http://www.cnblogs.com/kevin-wang/archive/2009/12/15/1624812.html) 里面有详细的说明 方法,属性,事件。
RockEx 2009-12-20
  • 打赏
  • 举报
回复
JavaScript调用ActiveX控件中的函数
这个交互的关键是在接口类中添加对外的方法。大概步骤如下:
1. 在.NET在新建一个MFC ActiveX工程
2. 在类视图中,可以看到最下面有一个“工程名+Lib”项,图标与上面的类图标不同,展开它,可以看到三项,下面要做的就是在第二项(名为“_D+工程名”)下添加对外函数
3. 展开第二项后可以看到下面已经有了一个AboutBox(void)函数,这就是说些ActiveX控件已经有了一个对外交互的接口。对着接口(名为“_D+工程名”)点右键选“添加->添加方法”,写入函数名和参数,返回类型(内部名称可以和外面名称不一样)。
4. 添加完成后,可以在类视图中的“C+工程名+Ctrl”类下面看到刚刚添加的函数(这里显示的是上面提到的内部名称),双击该函数就可以写自己的代码了。
上面的步骤就添加ActiveX控件对外的一个函数,在网页中可以在JavaScript函数中去调用该函数,调用方法就是运行“控件ID.函数名 (参数)”,这里的控件ID指在网页中为ActiveX指定的ID,如<object id=”控件ID” classid=…></object>。函数名是指在上面第3步中的外部名称。
如下图所示:定义了三个方法Login,MessageBox,Test2
[img]url=http://images.cnblogs.com/cnblogs_com/kevin-wang/MFC_ActiveX_JS01.PNG[/img]
值得注意的是,如果想把JavaScript字符串当作参数传递到控件里,那么MFC的参数应该为BSTR类型
qdboyqf 2009-12-18
  • 打赏
  • 举报
回复
你可以定义一个属性来返回你要的值。
或者定义接口,其中有个参数是返回值。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧