MFC控件字体修改和JAVA_GUI提示框

20 篇文章 0 订阅

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,水平滚动条)


参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:技术黑板 设计师:CSDN官方博客 返回首页

打赏作者

清晨~

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值