描述:
如何只根据注册表中的内容,查找注册的组件,然后东调用?dispatch怎么用啊?
msdn上的帮助,怎么都是错?
解决方案1:
CWnd::CreateControl
BOOL CWnd::CreateControl( LPCTSTR lpszClass, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CFile* pPersist = NULL, BOOL bStorage = FALSE, BSTR bstrLicKey = NULL );
BOOL CWnd::CreateControl( REFCLSID clsid, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CFile* pPersist = NULL, BOOL bStorage = FALSE, BSTR bstrLicKey = NULL );
看到有nID参数,没有试过
只试过这个,以下代码为片段只是个思路,程序员大本营中有个例子,没找到.
for(int jIndex=0;jIndex<m_pCheckBoxList.GetCount();jIndex++)
{
Positi />
pCheckBox=(CButton*)m_pCheckBoxList.GetAt(Position_CheckBox);
m_CheckBoxSerial.Format("%d",jIndex);
m_Rect.left=(10+jIndex%8*45);
m_Rect.top=(20+jIndex/8*15);
m_Rect.right=(55+jIndex%8*45);
m_Rect.bottom=(35+jIndex/8*15);
pCheckBox->Create(m_CheckBoxSerial,WS_VISIBLE|BS_CHECKBOX|BS_LEFTTEXT,m_Rect,this,200+jIndex);
//pCheckBox->SetCheck(TRUE);
}
创建复选框N个.
判断触发哪个ID
OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
您可能想查找下面的文章:
- 实现了IDispatch接口的组件和ActiveX控件用起来有什么不同呢?我觉得一样可以用在Web页面上,为什么ActiveX控件还要多实现那么多各种各样
- 实现了IDispatch接口的组建,用vbscript怎么调用?
- IDispatch::Invoke如何通过dispid调用方法?
- 关于idispatch和typelib
- 请教:一个VC++的自动化问题CreateDispatch
- 问个弱弱的问题:得到一个ActiveX控件的IDispatch指针后,如何使用?有没有与CListCtrl相同的ActiveX控件?
- MSFlexGrid有一个Picture属性,是一个IDispatch接口指针,请问如何操作?
- 请教COM,IDispatch相关问题!
- 我封装的dispatch接口访问类为什么调用vb的com如果有长型,整型的参数调用不成功呢?如果光串型没问题
- CreateDispatch出错,错误号为2,高手帮忙~~~~