日期:2014-05-19  浏览次数:20970 次

WinForm UserControl做不规则的ActiveX,在IE里面加载后的显示、消息处理问题。
我用Winform   UserControl做了一个不规则的ActiveX,在Container里面测试可以显示为不规则窗口,但是这个ActiveX加载到HTML里面,仍然显示了背景区域(规则的矩形)。

还有一个问题是:我的ActiveX加载到HTML页面后,拦截了鼠标的移动和点击消息,我想继续传递给后面的HTML页面,不知道如何实现啊!

欢迎任何意见!

------解决方案--------------------
咋可以放300分的帖子呢.
------解决方案--------------------
Red_angelX(八戒) ( ) 信誉:100 Blog 加为好友 2007-05-16 10:25:53 得分: 0
咋可以放300分的帖子呢.

*-------------------------------

先在能发300分的帖子版块发帖,然后再将帖子移到本版即可。



------解决方案--------------------
to 楼上:

laiyiling在VC版可以放300,发了帖转移到其他版就行了。特别是转移到一个三角的版块,更有轰动效应。
------解决方案--------------------
高分贴留名先
------解决方案--------------------
第一个透明设置不知道能不能修正
第二个以前讨论过winform的传消息,web的按钮什么的都不是标准hwnd,能传么?
------解决方案--------------------
1.关于背景,我想用style应该可以达到目的。

2.关于activex传值给html,首先,你的activex得提供一个接口获得这个值,然后用script访问得到即可。但是你说的后面的html,似乎你的意思是要传给服务器端?如果是,你可以用xmlhttp或ajax等即可。如果是要传给另外一个html,那是肯定不行的,你没有分清客户端执行和服务端执行,当然,如果这个html已经在客户端打开,则可以用window.opener……传值过去。
------解决方案--------------------
MK
------解决方案--------------------
具体也没做过 理论上觉得
html 界面 本身只能是规则的.
activex 对象引入 也不能破坏页面布局规则吧
可以考虑activex多于部分和html页面部分的界面颜色或图片背景重合



------解决方案--------------------
做一不规则形状的ActiveX控件,用SetWindowRegion方法,但最终效果好象是同容器有关,如VB,VC下,划出去的区域透明化了,效果比较好;但在如Test ActiveX Container上,划出去的区域无法透明,如果在划出去的区域上显示对话框,因为自己控件不在那部分区域重画,造成对话框按完后,还造样残留,而且如在划出去的区域上叠放其他控件,只能根据叠放次序(Z-order),在本控件上的可以显示,在本控件下的无法显示,好象没有用SetWindowRegion设定过一样。但在VB,VC下就不管叠放次序,都能正确显示其他叠放控件.

小弟的一点见解, 呵呵
------解决方案--------------------
消息处理是不是可以这样通过组件,引出事件,用js处理

------解决方案--------------------
to 关于容器的问题,是不是可以做一个类似container的假的东西放在IE,但偶担心这个假的又会引入新的背景问题。

这样是不行的,正如你所说,会造成新的背景问题。
------解决方案--------------------
楼主应该想一个问题吧,如果用.NET来做控件在网页上使用,那么一定要保存使用机(客户机)上一定要安装这个.NET的框架才行啊.

如果不用考虑是否在客户机上安装.NET框架这个问题,单说不规则的控件,其实这个就不是说在.NET中实现实现不了的问题了,在Windows环境下的.NET其实就是基于系统API的,如果在VC++里能实现,那么在.NET中也应该能实现.我只做过在网页上使用.NET的窗体控件,但是对于不规则的还没有做过,但是凭楼主的C++的功底来说,应知道用VC++写的组件能不能在HTML中实现这个不规则的控件.还是那句话,如果C++可以,那么离.NET做成也就不远了.