Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: COM/DCOM/ActiveX/ATL/CORBA > Как создать шрифт в ATL-ActiveX ?


Автор: torero 17.2.2010, 18:58
   Элемент ATL-ActiveX получает такой указатель:  CComPtr<IFontDisp> m_pFont;   Как на его основе создать новый шрифт ?

Автор: kurlyak 24.3.2010, 22:52
Код

STDMETHODIMP CMyTicker::SetClientSite (LPOLECLIENTSITE pSite)
{
........................................
    if (m_pFont)
        m_pFont.Release();
    if (FAILED(GetAmbientFontDisp(static_cast<IFontDisp**>(&m_pFont))))
    {
        FONTDESC fd;

        WCHAR fname[] = { 'A','r','i','a','l',0 };

        fd.cbSizeofstruct = sizeof(fd);
        fd.lpstrName      = fname;
        fd.cySize.Lo    = 120;
        fd.cySize.Hi    = 0;
        fd.sWeight          = 0;
        fd.sCharset       = 0;
        fd.fItalic          = 0;
        fd.fUnderline     = 0;
        fd.fStrikethrough = 0;
        
        OleCreateFontIndirect (&fd,
            IID_IFontDisp,
            reinterpret_cast<void**>(&m_pFont));
    }
..............................
    return hr;
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)