QQ登录

只需一步,快速开始

135上位机VC MFC输出动态多彩的文字方法

[ 复制链接 ]

135上位机VC MFC输出动态多彩的文字方法

135上位机VC MFC输出动态多彩的文字方法

135上位机VC MFC输出动态多彩的文字方法


功能展示

程序界面文字一般都是黑白静态显示的,我们当前例程,实现动态且各种颜色变幻输出文本功能,点击动起来,文字霓虹灯效果动态显示,且会跟随鼠标移动,点击静一静,停止文字特效,效果如图;
要点提示
文字的霓虹灯般动态效果是使用窗口设备上下文的通道方法来实现的,创建通道后在通道内实现文字颜色的变幻;
实现功能
1.新建基于对话框的应用程序
2.拖拽两个按钮进行定时器的打开与关闭操作void CGkbc8Dlg::OnButton1()
{ SetTimer(1,250,NULL) ;} void CGkbc8Dlg::OnButton2() {KillTimer(1); }
3.添加一变量CPoint m_Point;用于输出文字的起始点,在鼠标移动消息中赋值void CGkbc8Dlg::OnMouseMove(UINTnFlags, CPoint point)
{ m_Point=point; CDialog::OnMouseMove(nFlags, point); }

4.添加定时器消息,实现多彩的文字效果;
  1. c8Dlg::OnTimer(UINT nIDEvent)
  2. {
  3.         CFont Font;
  4.         CDC* pDC = GetDC();
  5.         CRect rect;
  6.         GetClientRect(&rect);
  7.         pDC->FillRect(rect,&CBrush(RGB(0,0,0)));//填充黑色

  8.         Font.CreatePointFont(400,"宋体",pDC);
  9.         pDC->SelectObject(&Font);
  10.         
  11.         pDC->BeginPath();
  12.         pDC->SetBkMode(TRANSPARENT);
  13.         pDC->TextOut(m_Point.x,m_Point.y,"动态多彩文字");
  14.         pDC->EndPath();
  15.         pDC->SelectClipPath(RGN_COPY);
  16.         pDC->AbortPath();
  17.         
复制代码
  1. Font.DeleteObject();
  2.         //

  3.         int R,G,B;
  4.         for(int i=0;i<rect.Height();i=i+5)
  5.         {
  6.                 R = rand()/2;
  7.                 G = rand()/2;
  8.                 B = rand()/2;
  9.                 CPen pen;
  10.                 pen.CreatePen(PS_SOLID,5,RGB(255*R,255*G,255*B));
  11.                 pDC->SelectObject(&pen);
  12.                 pDC->MoveTo(rect.Width(),i);
  13.                 pDC->LineTo(0,i);
  14.                 pen.DeleteObject();
  15.         }
  16.         CDialog::OnTimer(nIDEvent);
  17. }
复制代码
我们来演示下功能实现的整个过程
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:135.上位机VC MFC输出动态多彩的文字方法.rar 
文件大小:139.33 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索