怎样向VSPrinter::SetFont(LPDISPATCH newValue)传递CFont类型变量,急!!

VClearner2003 2003-12-18 05:04:13
现有一CFont类型变量要传递给VSPrinter的SetFont(LPDISPATCH newValue),怎样将该CFont类型变量转换成LPDISPATCH类型的变量
...全文
123 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
数据的世界 2004-01-02
问题我解决了
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;
}
回复
数据的世界 2004-01-02
to wangweixing2000(星) 关键是如何把CFont 封装成IDISPATCH 的接口,这个问题我也想知道。
回复
VClearner2003 2003-12-25
用IFont怎么封装CFont类型的变量,请给出详细代码,谢谢
回复
VClearner2003 2003-12-22
请给出详细代码,谢谢
回复
VClearner2003 2003-12-22
用IFont怎么封装CFont类型的变量
回复
yangang000 2003-12-22
IFont
回复
VClearner2003 2003-12-20
在打印中用到了多种字体,用属性页设置Font类型,行不通
回复
VClearner2003 2003-12-20
1.怎样把CFont封装成一个IDSIPATCH派生的接口?
2.通过属性页能将CFont与CFontHolder联系起来?怎样实现?
回复
wangweixing2000 2003-12-19
可以用过属性页进行设置FONT类型,你要自己做就要把CFont封成一个IDISPATCH派生的接口,就可以直接传了!
回复
VClearner2003 2003-12-19
CFontHolder怎样跟一个CFont类型变量联系起来?怎样使用CFontHolder?谢谢!
回复
yangang000 2003-12-18
使用CFontHolder
回复
相关推荐
发帖
ATL
创建于2007-09-28

3218

社区成员

ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
申请成为版主
帖子事件
创建了帖子
2003-12-18 05:04
社区公告
暂无公告