我有一个带有ocx控件的vb6窗体。ocx控件上有一个我想从代码中按下的按钮。我该怎么做呢?
我有:
Dim b As CommandButton
Set b = ocx.GetButton("btnPrint")
SendMessage ocx.hwnd, WM_COMMAND, GetWindowLong(b.hwnd, GWL_ID), b.hwnd
但它似乎不起作用。
在某些Windows7/8系统上,我的vb6应用程序得到msinet错误339。组件“”MSINET.OCX“”或其依赖项之一未正确注册:文件丢失或无效。“
我在想我是不是需要ocx。如何判断我是否在使用msinet.ocx?我是否需要它呢?我注意到Microsoft Internet Controls被选为组件,Microsoft Internet Transfer Control6.0 (SP6)也被选中。这两个是MSInet.ocx吗?
我有这段代码可以在Windows上注册OCX。是否可以使用相同的代码来注册ActiveX DLL?
注意,在嵌入适当的清单后,程序将被提升。
program RegOCX;
{$APPTYPE CONSOLE}
{$R *.res}
{$R RegOCX.rec}
uses
System.SysUtils, Vcl.OleCtnrs, OleCtl, Windows;
function CheckOCXReg: Boolean;
var
X: TOleContainer;
begin
Result := True;
X := TOleContainer.Create(n
我对PyQt5非常陌生。我现在正在尝试调用ocx函数,它以变量* type作为参数。因此,我创建了QVariant变量并将其放入函数中,但我只能得到错误。
功能原型是:
LONG ReceiveProcDataArr(LONG nRqID, BSTR sProc, LONG nOutRecIndex, VARIANT* pArrData)
我试着在下面的代码中使用这个方法:
from PyQt5.QtCore import QVariant
ocx_module = QAxWidget("[ocx control]")
# some codes to skip...
dat
我已经在Vb6中创建了OCX,它只包含Listview控件(从MSCOMCTL.ocx添加),并编写了“拖放”功能,目前我想在另一个应用程序中实现OCX,但我不确定如何处理事件。
Listview有预定义的事件/方法/属性,当我创建我的OCX时,没有加载预定义的Lisview事件。示例Listview1.Listitem
public sub Listviewocx()
eventvar1 = Data.Files.Count
For intCOunter = 1 To eventvar1
strpath = Data.Files(intCOunter)
msgbox strpath
next
我有一个使用第三方OCX的项目。OCX最近更新了一种新方法。我正在尝试插入使用这种新方法的代码:
EPS.Refresh_IO_Link(ControllerRow("ControllerPort"), ControllerRow("ControllerSettings"))
它编译得很好,但是当我试图从VS2010内部运行它时,它产生了以下错误:
'Refresh_IO_Link' is not a member of 'AxEPSIO.AxctlEPSIO'.
这不是真的。它显示在Intellisense中,如果我进行重新构建
对于我的应用程序,我必须动态加载一个.ocx文件。我可以通过下面的代码做到这一点
private void InitializeComponent(string strProgId)
{
ResourceManager resources = new ResourceManager(typeof(AxForm));
Type type = Type.GetTypeFromProgID(strProgId, true);
m_axCtrl = new AxControl(type.GUID.ToString());