众所周知,在MFC应用程序中,静态文本框的使用可以说是必不可少。但是呢,就MFC提供的Static直接使用起来还是有一些小问题的。比如说:
(1)当对话框有背景图片或其他颜色的时候,静态文本框会有很难看的灰色的背景颜色,所以这里存在一个透明的问题;
(2)如何怎么修改静态文本框中文字的颜色、大小、字体等等;
(3)其实静态文本框也可以像按钮一样,Click、MoveOn等等事件可以触发。
下面就一一讲述下怎么实现的。
第一个问题:对静态文本框的背景实现透明处理:
首先,重载对话框的OnCtlColor()函数,也就是负责控件的颜色绘制
然后,如下所示,指定ID相对应的控件的背景模式为透明
HBRUSH CXXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: 在此更改 DC 的任何特性 int n = pWnd->GetDlgCtrlID(); if (n == IDC_STATIC_XXX) //这里的ID就是你自己要设置透明的静态文本框ID { pDC-&g