佚名通过本文主要向大家介绍了请教高手,请教电脑高手,请教word高手,请教怎样使用微信,请教ai混合工具使用等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 请教高手,使用active控件时改变传递参数时的问题
描述:
解决方案1:
描述:
CWavPlayerCtrl是控件
我建立app winzard,注册控件后生成接口类CWavPlayer
建立窗口类ActiveXDlg包含CWavPlayer的对象m_WavPlayer
我的目的是在不改动控件的前提下动态的设置接口参数使声码器播放我需要的文件
但现在的问题在于控件的操作在ActiveXDlg::ActiveXDlg后ActiveXDlg::OnInitDialog之前就进行了
那么我需要怎么样才能保证控件在接口参数设置在控件操作前就完成
ActiveXDlg必须生成对象才可能调用接口,但是CWavPlayer一旦有对象生成,就马上进行操作了
好像是不可能完成的任务
由衷的请教各位
解决方案1:
CWnd wnd = GetDlgItem(IDC_WAVPLAYER);
LPUNKNOWN pIUnk = wnd.GetControlUnknown();
IWavPlayer *pIWav = NULL;
HRESULT hr = pIUnk->QueryInterface(__uuidof(CWavPlayer),&pIWav);
if(FAILED(hr))
{
pIUnk->Release();
}
.....//处理你的代码