佚名通过本文主要向大家介绍了activex控件下载,activex控件,activex控件被阻止,activex控件官方下载,activex控件下载安装等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: Activex控件 传参数
描述:
解决方案1:
//////////////////////////////////////////////////////////////
你传的 JS要和COM中的参数类型兼容才行
void SetPort(LONG port);
LONG SetIp(LPCTSTR ip);
我这里用的是 解决方案3:
描述:
用MFC写了一个控件,给网页调用,他希望在调用的控件的时候,直接传参数给控件,比如:
<object classid=clsid:47939248-71F5-465D-AB7D-DC02FAD838EB align="absbottom" id="MyPlayer" style="WIDTH: 528px; HEIGHT: 432px">
<param name="ppp" value="2546">
</object>
ppp就是控件里的一个参数,
如何在控件里添加这样一个参数?请详细点谢谢
PS:我添加了一个属性,只有Get_ppp() 和Set_ppp(), 好像也得不到传进来的值。
解决方案1:
ATL写的ActiveX要怎么取得网页里PARAM传入的值?
http://www.cnblogs.com/RIVERSPIRIT/articles/1334257.html
class CACtrl : public COleControl
{
DECLARE_DYNCREATE(CACtrl)
// 构造函数
public:
CACtrl();
// 重写
public:
virtual void OnDraw(CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid);
virtual void DoPropExchange(CPropExchange* pPX);
virtual void OnResetState();
// 实现
protected:
~CACtrl();
DECLARE_OLECREATE_EX(CACtrl) // 类工厂和 guid
DECLARE_OLETYPELIB(CACtrl) // GetTypeInfo
DECLARE_PROPPAGEIDS(CACtrl) // 属性页 ID
DECLARE_OLECTLTYPE(CACtrl) // 类型名称和杂项状态
// 消息映射
DECLARE_MESSAGE_MAP()
// 调度映射
DECLARE_DISPATCH_MAP()
afx_msg void AboutBox();
// 事件映射
DECLARE_EVENT_MAP()
// 调度和事件 ID
public:
enum {
dispidSetIp = 7L, dispidSetPort = 6L, dispidStop = 4L, dispidPause = 3L, dispidPlay = 2L, dispidlon = 1L
};
Form m_MyDialog;
protected:
LONG lon(LONG a, LONG b);
public:
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
CWnd *pWnd;
protected:
void Play(void);
void Pause(void);
void Stop(void);
//void SetIp(CHAR* ip);
void SetPort(LONG port);
LONG SetIp(LPCTSTR ip);
};
//////////////////////////////////////////////////////////////
<html>
<head>
<script type="text/javascript" language="javascript">
function lon()
{
alert(document.DialogControl.lon(1,2));
}
function Play()
{
document.DialogControl.Play();
}
function Pause()
{
document.DialogControl.Pause();
}
function Stop()
{
document.DialogControl.Stop();
}
function SetIp()
{
document.DialogControl.SetIp("192.168.0.144");
}
function SetPort()
{
document.DialogControl.SetPort(8080);
}
</script>
<title>DialogControl</title>
</head>
<body>
<center>
<OBJECT ID="DialogControl" CLASSID="CLSID:7C18D3BB-D761-4B9C-AB52-3F73FE9CC227"
HEIGHT=385 WIDTH=700 >
</OBJECT>
</center>
<center>
<input type="button" id="lon" value="lon" />
<input type="button" id="Play" value="Play" />
<input type="button" id="Pause" value="Pause" />
<input type="button" id="Stop" value="Stop" />
<input type="button" id="SetIp" value="SetIp" />
</center>
</body>
</html>
你传的 JS要和COM中的参数类型兼容才行
void SetPort(LONG port);
LONG SetIp(LPCTSTR ip);
我这里用的是 解决方案3:
<object ID="myp"
classid=clsid:47939248-71F5-465D-AB7D-DC02FAD838EB align="absbottom" id="MyPlayer" style="WIDTH: 528px; HEIGHT: 432px">
<param name="ppp" value="2546">
</object>
myp.ppp = "ssss"