MFC程序用VS2013编写,怎么设置CFont::CreateFont调字体

MFC程序用VS2013编写,怎么设置CFont::CreateFont调字体,第1张

CFont  m_myFont//定义字体类型

//***

//cHeight是字体的高度。

//cWidth是字体的宽度。

//cEscapement是字体的倾斜角

//cOrientation是字体的倾斜角。

//cWeight是字体的粗细。

//bItalic是字体是否斜体。

//bUnderline是字体是否有下划线。

//bStrikeOut是字体是否有删除线。

//iCharSet是字体使用的字符集。

//iOutPrecision是指定如何选择合适的字体。

//iClipPrecision是用来确定裁剪的精度。

//iQuality是怎么样跟选择的字体相符合。

//iPitchAndFamily是间距标志和属性标志。

//pszFaceName是字体的名称。

m_myFont.CreateFont(8, 8, 0, 0, 200, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_MODERN, _T("楷体"))

////****应用

例如你要写 文件的控件变量

CEdit edit

SetFont()函数 先设置  edit.SetFont(m_myFont)

写字体

CFont是一个字体的类,他没有透不透明的项。他只包括与字体相关的内容。

详细请看百度百科:http://baike.baidu.com/view/2860523.htm

要实现字体透明,要在绘图时设置环境:

pDC->SetBkMode(TRANSPARENT)

为CEditView类如下两个变量:

CFont *font

LOGFONT lf

然后将该类的OnInitialUpdate()函数代码修改如下:

void CXXView::OnInitialUpdate()

{

CEditView::OnInitialUpdate()

font=new CFont

font->CreatePointFont(115,(LPCTSTR)"新宋体")

font->GetLogFont(&lf)

//lf.lfUnderline=TRUE

font->DeleteObject()

font->CreateFontIndirect(&lf)

SetFont(font)

// TODO: Add your specialized code here and/or call the base class

}

如果要修改字体颜色的话按如下步骤:

先为该类添加=WM_CTLCOLOR消息函数(在“查看”菜单的“建立类向导”里面)

在该函数中添加如下代码:

pDC->SetTextColor(RGB(0,0,255))

HBRUSH b=CreateSolidBrush(RGB(255,255,255))

return b

你补充的那个问题,好像用CEditView无法实现,试试用CRichEditView看看,这个控件类似于Windows自带的写字板,可以实现部分文字自定义格式,但是我没用过


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11262946.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存