一  字体设置比较简单~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1 。在 testdlg.h(假设工程名字为test)中 设置一个 public 的 CFont font;

2 。在testdlg.cpp中的OnInitDialog函数最后面加入

font.CreateFont(25,0,0,0,100,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,

CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_SWISS,"微软雅黑");

 参数说明:
 nHeight         :字体高度.>0:字体的高度值;=0:字体采用缺省直.<0:此值的绝对
值为高度.
 nWidth          :字体宽度.
 nEscapement     :文本行的倾斜度.
 nOrientation    :字符基线的倾斜度.
 nWeight         :字体的粗细.如下:
    .FW_DONTCARE
    .FW_THIN
    .FW_EXTRALIGHT
     .....
 bItalic         :字体是否为斜体
 bUnderline      :字体是否带下划线
 cStrikeOut      :字体是否带删除线
 nCharSet        :字体的字符集
    .ANSI_CHARSET
    .DEFAULT_CHARSET
    .SYMBOL_CHARSET
     ......
 nOutPrecision   :字符的输出精度
 nClipPrecision :字符裁剪的精度
 nQuality        :字符的输出质量
 nPitchAndFamily :字符间距和字体族(低位说明间距,高位说明字符族)
 lpszFacename    :字体名称 

m_edit.SetFont(&font,FALSE);

其中m_edit为该控件的控件变量 如果没事先设置 可以使用

 CEdit *m_Edit=(CEdit *)GetDlgItem(IDC_EDIT1);
 m_Edit->SetFont(&m_Font,FALSE); 

二 透明设置~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

有时候会想让控件透明以便美化

其中 edit_control设置透明可以如下

在testdlg中加入OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)的消息响应

HBRUSH CtransparentDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hBrush = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

if(nCtlColor == CTLCOLOR_STATIC)
{
pDC->SetBkMode(TRANSPARENT);
return (HBRUSH)::GetStockObject(NULL_BRUSH);
}
return hBrush;
}

但这样会有问题 需要强制刷新

 InvalidateRect(EDIT窗口句柄, NULL, FALSE); 
所以我直接用别人写好的类啦!~~~~~~~~~~~~~~~~
附加如下 
我擦,找不到上传附件的地方啊 先继续写
file.rar~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
将里面的EditTrans.h EditTrans.pp 分别加入工程 
替换MFC的原来的类有如下方法 

一~~~给你的按钮关联一个控件变量 比如CButton m_ctlButton;

然后在.h文件中将CButton换成CMyButton

二~~~CMyButton m_btnMyButton;
然后在对话框的OnInitDialog (或任何适当的地方) 中调用:
m_btnMyButton.SubclassDlgItem(IDC_BUTTON1, this);
假设你已经有了一个窗口的指针,或者你工作在一个CView或其他CWnd派生类中里面的控件被动态的创建,或者你不想使用SubclassDlgItem函数,那么你可以使用下面的方法:
CWnd* pWnd = GetDlgItem(IDC_BUTTON1); // or use some other method to get
// a pointer to the window you wish
// to subclass
ASSERT( pWnd && pWnd->GetSafeHwnd() );
m_btnMyButton.SubclassWindow(pWnd->GetSafeHwnd());

效果图如下 

MFC~~~~~~edit_control 和 静态文本框设置透明和字体设置的更多相关文章

  1. MFC中修改静态文本框中文字的字体、颜色

    假设有一个静态文本框控件,其ID为:IDC_STATIC_XSDJ,且关联一个control类的CStatic类型的变量m_static_xsdj. 设置字体时自然要用到CFont类,下面介绍两种方法 ...

  2. MFC编程入门之二十(常用控件:静态文本框)

    上一节讲了颜色对话框之后,关于对话框的使用和各种通用对话框的介绍就到此为止了.从本节开始将讲解各种常用控件的用法.常用控件主要包括:静态文本框.编辑框.单选按钮.复选框.分组框.列表框.组合框.图片控 ...

  3. VS2010/MFC编程入门之二十(常用控件:静态文本框)

    上一节鸡啄米讲了颜色对话框之后,关于对话框的使用和各种通用对话框的介绍就到此为止了.从本节开始鸡啄米将讲解各种常用控件的用法.常用控件主要包括:静态文本框.编辑框.单选按钮.复选框.分组框.列表框.组 ...

  4. VS2010-MFC(常用控件:静态文本框)

    转自:http://www.jizhuomi.com/software/179.html 关于对话框的使用和各种通用对话框的介绍就到此为止,从本节开始将讲解各种常用控件的用法.常用控件主要包括:静态文 ...

  5. 【MFC设置静态文本框背景为透明】

    视图类中加入OnCtlColor()函数: IDC_STATIC1为静态文本框ID HBRUSH CAngleView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT n ...

  6. MFC中如何给静态文本框添加消息响应

    需要两个步骤: 第一个: 是改变它的ID(默认情况下所有的静态文本框的ID都为IDC_STATIC,你需要改变他的ID为其他的值). 第二个: 是在它的属性对话框中选中Notify选项,VS是将该属性 ...

  7. 改变静态文本框和PictureControl的背景颜色

    /************************************************************************/ /* 改变静态文本框和选择框的背景颜色 */ /* ...

  8. Jtabbedpane设置透明、Jpanel设置透明

    摘自 https://zhidao.baidu.com/question/983204331427010139.html java中如何设置Jtabbedpane为透明 20 在Jtabbedpane ...

  9. MFC入门示例之静态文本框、编辑框

    点击按钮计算文本框中文本长度 void CMFCApplication1Dlg::OnBnClickedButton1() { CString strInput; GetDlgItemText(IDC ...

随机推荐

  1. Ubuntu:搜狗输入法不能输入中文

    搜狗输入法不能输入中文 问题描述 可以打开搜狗输入法,可以打英文,但是不能切换成中文. 其他输入法正常使用(这个可以判断是不是fcitx是不是出现错误). 有一个关于sogou的内部错误提示 解决方法 ...

  2. macOS 使用brew安装mysql,客户端连接不上

    macos 使用brew安装mysql8.0后,使用mysql官方的workbench连接不上,出现√ mysql8.0 Authentication plugin 'caching_sha2_pas ...

  3. nginx -s stop and -s quit 有什么区别?

    Quit is a graceful shutdown. Nginx finishes serving the open connections before shutdown Quit 是一个优雅的 ...

  4. iconfont 入门级使用方法

    iconfont : what? 阿里妈妈MUX倾力打造的矢量图标管理.交流平台.设计师将图标上传到Iconfont平台,用户可以自定义下载多种格式的icon,平台也可将图标转换为字体,便于前端工程师 ...

  5. Vue.js使用v-show和v-if的注意事项

    这篇文章一开始先对Vue.js中v-show和v-if两者的区别进行了简单的介绍,而后通过图文详细给大家介绍了Vue.js使用v-show和v-if注意的事项,有需要的朋友们可以参考借鉴,下面来一起看 ...

  6. eclipse启动maven项目

    pom.xml 文件. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://w ...

  7. 手机连不上eclipse

    在进行android开发时,有时候会很奇怪,手机连不上eclipse了,打开eclipse的ddms也没有,重启adb也不行,这时候我们应该怎么办呢. 首先打开资源管理器,找到 adb.exe 结束掉 ...

  8. 推荐两个Magento做的中文网站 GAP和佰草集

    Magento这两年发展很快,可以算是现阶段最有前途的开源电子商务系统,国外用的人很多,相对应的,国内也已经有很多人在用Magento建站了,可惜的是这其中绝大多数还是英文站,大多是国内外贸商建的外贸 ...

  9. PNotes – 目前最优秀的桌面便签软件 - imsoft.cnblogs

    Pnotes: 下载链接: http://pan.baidu.com/s/1o6FK4SM 密码: n7il 便携版,包含中文语音包,包含十几种合适的皮肤. 更多信息:小众软件 http://www. ...

  10. 【图文教程】win7+VMware8.0+CentOS6.4 NAT上网

    在win7下面安装VM8.0,里面又安装多个虚拟机,各个虚拟机之间可以互相访问,同时虚拟机可以直接访问外网上网,win7要ping通个虚拟机中的系统.这种方式就使用NAT模式,开启VMware Net ...