16,548
社区成员




HRESULT
CBehavior::GetIDsOfNames(REFIID riid, LPOLESTR* rgszNames, UINT cNames,
LCID lcid, DISPID* rgdispid)
{
HRESULT hr = DISP_E_UNKNOWNNAME;
USES_CONVERSION;
if (!rgszNames || !rgdispid )
return E_POINTER;
for (int i = 0; m_szMethodNames[i] != NULL; i++)
{
if ( 0 == _tcsicmp( m_szMethodNames[i], OLE2A(*rgszNames) ) )//先把两字符串转化为小写后再比较。
{
*rgdispid = m_dispidMethodIDs[i];
hr = S_OK;
}
}
return hr;
}
void
CBehavior::ShowBehavior()
{
CComPtr<IHTMLStyle> spStyle;
HRESULT hr;
hr = m_spElem->get_style( &spStyle );
if ( SUCCEEDED(hr) )
{
DWORD color;
char buf[8];
color = GetSysColor( m_lTextColorIndex );
wsprintf( buf, "#%02x%02x%02x", GetRValue(color), GetGValue(color), GetBValue(color) );
spStyle->put_color( CComVariant(buf) );
color = GetSysColor( m_lBackColorIndex );
wsprintf( buf, "#%02x%02x%02x", GetRValue(color), GetGValue(color), GetBValue(color) );
spStyle->put_backgroundColor( CComVariant(buf) );
}
}
sprintf( buf, "#%02x%02x%02x", GetRValue(color), GetGValue(color), GetBValue(color) );
spStyle->put_color( CComVariant(buf) );
color = GetSysColor( m_lBackColorIndex );
sprintf( buf, "#%02x%02x%02x", GetRValue(color), GetGValue(color), GetBValue(color) );