1、MFC控件字体修改
①代码实现,在OnPaint函数中添加
CFont * f;
f = new CFont;
f->CreateFont(36, // nHeight,字体高度
0, // nWidth,字体宽度
0, // nEscapement,文本行的倾斜度
0, // nOrientation 字符基线的倾斜度
FW_BOLD, // nWeight 字体加粗程度(可以是常量,也可以是0~1000)
TRUE, // bItalic,字体是否为斜体
FALSE, // bUnderline,字体是否带下划线
0, // cStrikeOut,字体是否带删除线
ANSI_CHARSET, // nCharSet,字体的字符集
OUT_DEFAULT_PRECIS, // nOutPrecision,字符的输出精度
CLIP_DEFAULT_PRECIS, // nClipPrecision,字符裁剪的精度
DEFAULT_QUALITY, // nQuality,字符的输出质量
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily,字符间距和字体族(低位说明间距,高位说明字符族)
_T("Arial")); // lpszFac,字体名称 "宋体"
//对应的ID名称
GetDlgItem(IDOK)->SetFont(f);
GetDlgItem(IDCANCEL)->SetFont(f);
GetDlgItem(IDC_STATIC)->SetFont(f);
②参数说明(这里面就说一下nWeight参数,控制加粗程度,高和宽控制字体大小)
FW_DONTCARE 0
FW_THIN 100
FW_EXTRALIGHT 200
FW_ULTRALIGHT 200
FW_LIGHT 300
FW_NORMAL 400
FW_REGULAR 400
FW_MEDIUM 500
FW_SEMIBOLD 600
FW_DEMIBOLD 600
FW_BOLD 700
FW_EXTRABOLD 800
FW_ULTRABOLD 800
FW_BLACK 900
FW_HEAVY 900
2、JAVA的图形化界面中,警告提示框。
//不带图标
JOptionPane.showMessageDialog(null, "信息", "标题", JOptionPane.PLAIN_MESSAGE);
//带 ?图标
JOptionPane.showMessageDialog(null, "信息", "标题", JOptionPane.QUESTION_MESSAGE);
//带 警告 图标
JOptionPane.showMessageDialog(null, "信息", "标题", JOptionPane.WARNING_MESSAGE);
// 带 警告 图标
JOptionPane.showMessageDialog(null, "信息", "标题", JOptionPane.INFORMATION_MESSAGE);
//带 错误 图标
JOptionPane.showMessageDialog(null, "信息", "标题", JOptionPane.ERROR_MESSAGE);
3、MFC 中使用的不是label,使用的是static text,如何使背景透明。
①添加消息事件WM_CTLCOLOR。②修改代码
HBRUSH CMainDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改 DC 的任何特性
//设置字体
CFont fonText;
fonText.CreatePointFont(200, "微软雅黑");
// 如果不做判断的话,全部静态文本背景都是透明的,做了判断就指定ID其中一个变成透明
if (pWnd->GetDlgCtrlID() == (IDC_STATIC)) //静态文本ID
{
pDC->SelectObject(&fonText); //字体大小
pDC->SetBkMode(TRANSPARENT); //透明
pDC->SetTextColor(RGB(0, 0, 0)); //字体颜色
return HBRUSH(GetStockObject(HOLLOW_BRUSH));
}
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
return hbr;
}
4、MFC中text如何自动换行,(调节几个属性即可)
①自动换行(换行+水平固定+垂直可拉+垂直滚动条,最后一个可以省略)
MultiLine(true)+Auto HScroll(FALSE)+Auto VScroll(TRUE)+Vertical Scrollbar(TRUE)
②常见的一些属性
visible (TRUE可见,FALESE不可见)
Auto HScroll (FALSE,只能显示文本框大小的内容;TRUE可以拖动显示后面内容)
MultiLine (TRUE多行;FALSE一行)
Auto VScroll (单行,没有该属性,多行TRUE是高可拉动,FALSE是固定高)
Vertical Scrollbar (TRUE,垂直滚动条)
Horizontal Scrollbar (TRUE,水平滚动条)