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自带的写字板,可以实现部分文字自定义格式,但是我没用过
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)