VC中如何加载外部组件*.ocx

jaxiaoyu 2002-12-17 06:51:19
我有一个组件*.ocx,其封装了一些函数,现在我想在VC中应用*.ocx中的函数,应该如何调用呢!用"添加..."还是其它的!
...全文
234 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
shudingbo 2002-12-17
  • 打赏
  • 举报
回复
yes,
下面是一个动态创建ocx控建的例子,希望对你有所帮助:)
.h
CAxWindow *m_pView; // IE control to hold WMP OCX
CComPtr<IWMPPlayer4> m_spPlayer; // Player
CComPtr<IWMPMediaCollection> m_spMC; // MediaCollection object
CComPtr<IWMPPlaylistCollection> m_spPC;// PlaylistCollection object
CComPtr<IWMPPlaylist> m_spSavedPlaylist;
//Saved playlist object for media list

----------------
.cpp
LRESULT CMainDlg::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
///////////////////////////////////////////////////
// Initialize WMP control
//////////////////////////////////////////////////
CComPtr<IAxWinHostWindow> spHost;
RECT rectWMP={0,0,0,0};
HRESULT hr;

// Get an IE control to contain WMP OCX
m_pView = new CAxWindow();

if(m_pView)
{
::GetWindowRect(GetDlgItem(IDC_RANGE), &rectWMP);
ScreenToClient(&rectWMP);
m_pView->Create(m_hWnd, rectWMP, _T("about:blank"), WS_CHILD | WS_VISIBLE);

if(::IsWindow(m_pView->m_hWnd))
{
hr = m_pView->QueryHost(&spHost);
}

if(SUCCEEDED(hr))
{
hr = spHost->CreateControl(CComBSTR(L"{6BF52A52-394A-11d3-B153-00C04F79FAA6}"), m_pView->m_hWnd, 0);
}

if(SUCCEEDED(hr))
{
hr = m_pView->QueryControl(&m_spPlayer);
}

// Now we have the WMP OCX, we get mediaCollection and playlistCollection
// for later usage.
if(SUCCEEDED(hr) && m_spPlayer.p != NULL)
{
m_spPlayer->get_mediaCollection(&m_spMC);
m_spPlayer->get_playlistCollection(&m_spPC);
ShowMainTree();
}
}
else
{
MessageBox(_T("Failed to create ActiveX container"));
}

return 1; // Let the system set the focus
}

取自,微软的例子!



mahongxi 2002-12-17
  • 打赏
  • 举报
回复
1、 CTRL + W
2、ADD CLASS
3、FROM TYPE LIBRARY
4、选择*.ocx
ManHard 2002-12-17
  • 打赏
  • 举报
回复
Project\Add to project\Components and Controls
在弹出的对话框中打开Registered ActiveX Controls ,选中你的ocx控件(如果已经注册了).
mahongxi 2002-12-17
  • 打赏
  • 举报
回复
你也可能把它注册了先,然后再用
zswzwy 2002-12-17
  • 打赏
  • 举报
回复
1、 CTRL + W
2、NEW CLASS
3、FORM ……
4、选择*.ocx

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧