现有一CFont类型变量要传递给VSPrinter的SetFont(LPDISPATCH newValue),怎样将该CFont类型变量转换成LPDISPATCH类型的变量
解决方案 »
- 请问CSocket的close消息是什么呢?
- USB接收发送线程问题
- VC如何对网页里的控件进行操作
- 超难问题: 试过几种编码都不能正确显示的一种汉字代码
- 关于线程的串行
- 如何求8位、24位BMP图像的每行的字节数
- help me 关于函数的传值问题??问题解决,当时给分
- 关于在vc中使用ado的效率问题
- 在VC2008 的ATL控件里面用fgets函数读不到文件里面的数据!
- 请问如何备份数据库文件(新手上路)?
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~关于串口通信问题,请高手来看看~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 请问这样的如何添加调用存储过程的参数呢?这样对吗???
2.通过属性页能将CFont与CFontHolder联系起来?怎样实现?
CreateOleFont(CFont *pFont)
{
IDispatch* pDispatch = NULL;
USES_CONVERSION;
if (pFont)
{
LOGFONT LogFont;
if (pFont->GetLogFont(&LogFont))
{
LOGFONT* pLogFont = &LogFont;
FONTDESC fd;
fd.cbSizeofstruct = sizeof(FONTDESC);
fd.lpstrName = T2OLE(pLogFont->lfFaceName);
fd.sWeight = (short)pLogFont->lfWeight;
fd.sCharset = pLogFont->lfCharSet;
fd.fItalic = pLogFont->lfItalic;
fd.fUnderline = pLogFont->lfUnderline;
fd.fStrikethrough = pLogFont->lfStrikeOut;
long lfHeight = pLogFont->lfHeight;
if (lfHeight < 0)
lfHeight = -lfHeight;
fd.cySize.Lo = lfHeight * 720000 / 96;
fd.cySize.Hi = 0;
if (FAILED(::OleCreateFontIndirect(&fd, IID_IFontDisp, (void**)&pDispatch)))
pDispatch = NULL;
}
} return pDispatch;
}