Disable粗体字的生成

qq191371920

qq191371920

2016-02-19 13:56

有了下面这个Disable粗体字的生成教程,不懂Disable粗体字的生成的也能装懂了,赶紧get起来装逼一下吧!

摘 要:

       字体的Disable状态如果放大加粗就可以产生很震撼的宣传效果,放在About对话框里,更可以增强软件本身的艺术效果。
实际上,这种字体是“画”(Paint)上去的,那么不可缺少的操作就是OnPaint,另外,一个必用的类就是CFont,生成字体和字的大小。

举例说明。产生的效果如图。

第一步,添加变量 CFont m_font;

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

           定义显示的字符串 #define STSIGN "Sailmer Angent"
 
第二步,添加设置字体的函数 SetFont (CString m_str, int nHeight, int nWeight, BYTE bItalic, BYTE bUnderline)
 
实现如下:

void CDisableFontDlg::SetFont(CString m_str, int nHeight = -16, int nWeight = FW_BOLD, BYTE bItalic = TRUE, BYTE bUnderline = FALSE)
{
          if(m_font.m_hObject)
          {
              m_font.Detach();
          }
          m_font.CreateFont(nHeight, 0, 0, 0, nWeight, bItalic, bUnderline,0,0,0,0,0,0, m_str);

 
第三步,初始化字体

在 OnInitDialog() 函数中添加:SetFont("Verdana", -25);
 
第四步,添加OnPaint消息,实现如下:

CPaintDC dc(this); // device context for painting
// Draw font
     CRect m_rect;
     GetWindowRect(m_rect);
     ScreenToClient(m_rect);
 
     CFont* OldFont = dc.SelectObject(&m_font);
 
     CSize sizestr = dc.GetTextExtent(DISPLAYSTR, strlen(DISPLAYSTR));
 
     dc.DrawState(CPoint((m_rect.Width()-sizestr.cx)/2, 10), 
         m_rect.Size(), 
         DISPLAYSTR, 
         DSS_DISABLED, // Set Disable State
         TRUE, 0, (CBrush*)NULL);
 
     dc.SelectObject(OldFont);

到此为止就可以完成任务了。此程序经过调试,完全可用。

调试环境:Windows XP

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

编译环境:Visual Studio 2003

展开更多 50%)
分享

猜你喜欢

Disable粗体字的生成

编程语言 网络编程
Disable粗体字的生成

iphone粗体文本设置教程

iphone iPhone 5s iPhone 6 iphone刷机
iphone粗体文本设置教程

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

生成BIG5字符集所有字符

编程语言 网络编程
生成BIG5字符集所有字符

巧用查找替换将Word文档中数字改成粗体

办公软件
巧用查找替换将Word文档中数字改成粗体

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

生成所有页面的效果+分页生成

Web开发
生成所有页面的效果+分页生成

生成GBK码表

编程语言 网络编程
生成GBK码表

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

jQuery编写的超酷幻灯片效果

jQuery编写的超酷幻灯片效果

网络我们近在咫尺 - QQ伤感分组

网络我们近在咫尺 - QQ伤感分组
下拉加载更多内容 ↓