有个ocx不能放入到VS2022的工具箱中, 求助
本帖最后由 popdes 于 2022-10-7 14:50 编辑手里有个VisioForge_Video_Capture.ocx , 这个是摄像头组件, 之前用在aardio和vb6中都可以使用, 在vb6中可以添加到工具箱中,拖拽就可以使用了,
今天拿到c#中, 怎么弄都弄不到vs2022的工具箱中, 网上也搜了各种办法, 都不行, 有点怀疑是这个ocx可能引用了其他的dll导致的,
但是,奇怪的是在aardio和vb6中只用这一个文件也是可以用的.
本人刚研究c#没多久, 特地来求解?
VisioForge_Video_Capture.ocx 文件如下:
链接:https://pan.baidu.com/s/18IUpSNNVwAF2oZ89cvC2QQ?pwd=22d8
提取码:22d8
另外, 上面的摄像头ocx是从官方安装后只提取的ocx这个文件, 如果从官方最新版exe安装这个控件, 在vs2022工具箱内是可以添加的..., exe安装了不少dll.....哎
所以, 我又测试了另外一个波形图的ocx , 这个是我自己从源码编译的, 在aardio和vb6中同样可以使用, 但是在vs2022也不行,
索性就一起发出来, 求解惑.
ST_Curve.ocx 文件如下:
链接:https://pan.baidu.com/s/11-N994zVc5Yy_A391LNBMQ?pwd=65g9
提取码:65g9
有可能你要做一个绿化版,是不是差文件 本帖最后由 popdes 于 2022-10-8 07:34 编辑
5151diy 发表于 2022-10-7 21:51
有可能你要做一个绿化版,是不是差文件
我也是觉得可能是少文件?
但是确实在其他两个软件里这一个文件就行了,还有第二个波形图那个是完整的文件,也不行,就是放不到工具箱中,奇怪了。
我网上搜到一篇文章,可以手动用vs中aximp命令将ocx导出两个AX开头的dll,然后手动添加这两个dll引用,然后手动在界面代码寄初始化这个ocx组件界面。
我用这个方法测试了下,确实可以使用ocx了,
那么问题来了,既然手动码代码是可以调出图形的,是不是就说明ocx文件没有问题?那问题出在哪里呢?为什么放不到VS的工具箱中呢?
把此ocx文件注册一下
5151diy 发表于 2022-10-8 07:41
把此ocx文件注册一下
手动regsvr32注册过了....... 不注册也没办法拖到工具箱里啊 就是想知道为什么不能添加到工具箱中.......
没人回答, 结帖, 那就留下我使用ocx的方法吧
自己手动 aximp st_curve.ocx 生成要用的类库, 然后手动引用 , 然后写代码自己加载到界面
private void Form1_Load(object sender, EventArgs e)
{
var axSTcurve1 = new AxST_CurveLib.AxST_Curve();
axSTcurve1.Dock = DockStyle.Fill;
this.pictureBox1.Controls.Add(axSTcurve1);
axSTcurve1.SetShowMode(0x80);
//axSTcurve1.CtlBackColor=0x000000;
axSTcurve1.CtlBackColor = 0xFFFFFF;
axSTcurve1.CtlForeColor = 0x000000;
axSTcurve1.AxisColor = 0x878787;
axSTcurve1.GridColor = 0xF0F0F0;
axSTcurve1.EnablePreview(false);
axSTcurve1.EnableHelpTip(false);
axSTcurve1.EnableHZoom(true);
axSTcurve1.SetGridMode(3);
axSTcurve1.LimitOnePage(true);
axSTcurve1.SetVPrecision(2);
axSTcurve1.SetHPrecision(0);
axSTcurve1.SetHInterval(10);
axSTcurve1.SetUnit("温度和湿度");
axSTcurve1.AddLegend(1, "aaa", 0xC08E45, 0/*_PS_SOLID*/, 1, 0x0, 255, 0/*CurveMode0/3*/, 1, 0xFF, true);
for (int i = 0; i < 500; i++)
{
axSTcurve1.AddMainData(1, i.ToString(), (float)Math.Sin(i * 0.05), 0, 1, true);
//axSTcurve1.AddMainData2(1, i, (float)Math.Sin(i * 0.05), 0, 1, true);
}
}
页:
[1]