效果图:

前面字体是个透明窗口

后面是桌面背景

代码实现:

void MyMainDialog::TextPathWindow(LPCTSTR lpShowText)
{
HDC hdc = GetDC(m_hWnd); // 创建字体,并选入当前DC中
HFONT hfont = CreateFont(TEXT("华文行楷"), -80,0,900);
HGDIOBJ hOldFont = SelectObject(hdc, hfont); // 路径的开始
BeginPath(hdc); SetBkMode(hdc,TRANSPARENT); // 设置背景透明
TextOut(hdc,18, 18, m_szShowText,lstrlen(m_szShowText)); // 输出文本 EndPath(hdc); //路径的结束 HRGN hrgn;
hrgn = PathToRegion(hdc); // 根据路径创建HRNG
SetWindowRgn(m_hWnd, hrgn, TRUE); // 设置窗口的HRNG // 删除字体对象
DeleteObject(SelectObject(hdc, hOldFont));
} // 在WM_INITDIALOG消息中加入 LRESULT MyMainDialog::OnInitDialog(LPARAM lParam)
{
// 添加消息响应代码 SetTimer(m_hWnd, 9999, 500, nullptr); m_szShowText = new TCHAR[100];
lstrcpy(m_szShowText, TEXT("正在回到原点"));
TextPathWindow(m_szShowText); return 0;
} // 在WM_TIMER消息中添加 LRESULT MyMainDialog::OnTimer(WPARAM wParam)
{
// 添加消息响应代码
lstrcat(m_szShowText, TEXT("."));
if (lstrlen(m_szShowText) > 10)
lstrcpy(m_szShowText, TEXT("正在回到原点")); TextPathWindow(m_szShowText); return 0;
}

Win32_GDI_绘制文字路径透明窗口的更多相关文章

  1. Qt 2D绘图之三:绘制文字、路径、图像、复合模式

    一.绘制文字 除了绘制图形以外,还可以使用QPainter::darwText()函数来绘制文字,也可以使用QPainter::setFont()设置文字所使用的字体,使用QPainter::font ...

  2. [Qt2D绘图]-04绘制文字&&绘制路径

    注:学习自<Qt Creator 快速入门>第三版.   文档中的示例参考 Qt Example推荐:Painter Paths Example和Vector Deformation   ...

  3. IOS开发 图形绘制,绘制线条,矩形,和垂直和居中绘制文字

    概述 吐槽下IOS下 的图形绘图,代码冗长,不得不自己重新封装方法.整理形成本文. 绘制线 // 绘制直线 + (void)toDrawLineFromX:(CGFloat)x1 Y:(CGFloat ...

  4. Canvas入门(3):图像处理和绘制文字

    来源:http://www.ido321.com/997.html 一.图像处理(非特别说明,所有结果均来自最新版Google) 在HTML 5中,不仅可以使用Canvas API绘制图形,也可以用于 ...

  5. html5--5-11 绘制文字

    html5--5-11 绘制文字 学习要点 掌握文字的绘制方法 文字的绘制方法 strokeText("文字",x,y,maxWith) 绘制(描边)空心文字 fillText(& ...

  6. SolidEdge如何在零件上写字 如何绘制文字

    在草图状态下,插入-文字轮廓   可以按这两个按钮调节文字的大小和位置   之后你可以通过长出或除料把文字凸起或者凹下去   如果你要制作路径文字(比如环形文字),则先绘制一条圆或一段圆弧,并设为构造 ...

  7. [Swift通天遁地]八、媒体与动画-(5)使用开源类库绘制文字、图形、图像、图表、SVG(可缩放矢量图形)

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  8. 【朝花夕拾】Android自定义View篇之(三)Canvas绘制文字

    前言 转载请声明,转自[https://www.cnblogs.com/andy-songwei/p/10968358.html],谢谢! 前面的文章中在介绍Canvas的时候,提到过后续单独讲Can ...

  9. C#+OpenGL+FreeType显示3D文字(3) - 用PointSprite绘制文字

    C#+OpenGL+FreeType显示3D文字(3) - 用PointSprite绘制文字 上一篇实现了把文字绘制到OpenGL窗口,但实质上只是把含有文字的贴图贴到矩形模型上.本篇我们介绍用Poi ...

  10. C#+OpenGL+FreeType显示3D文字(2) - 用GLSL+VBO绘制文字

    C#+OpenGL+FreeType显示3D文字(2) - 用GLSL+VBO绘制文字 +BIT祝威+悄悄在此留下版了个权的信息说: 上一篇得到了字形贴图及其位置字典(可导出为XML).本篇就利用此贴 ...

随机推荐

  1. [AGC020D] Min Max Repetition

    牛子题 优先满足第二个条件,长度是 \(\lceil \frac{max(A,B)}{min(A,B)+1}\rceil\) ,那么现在要满足字典序最小,发现先填 \(A..ABA..ABA..AB. ...

  2. Fedora升级33->34

    Fedora升级33->34   1. dnf --refresh upgrade   2. dnf install dnf-plugin-system-upgrade --best   3. ...

  3. Hugging Face Accelerate 两个后端的故事:FSDP 与 DeepSpeed

    社区中有两个流行的 零冗余优化器(Zero Redundancy Optimizer,ZeRO) 算法实现,一个来自 DeepSpeed,另一个来自 PyTorch.Hugging Face Acce ...

  4. influxdb得导出与导入

    转载请注明出处: 1.备份元数据 基本语法: influxd backup <path-to-backup> 备份元数据,没有任何其他参数,备份将只转移当前状态的系统元数据到path-to ...

  5. 解决方案 | MiKTex SSL connect error code 35

    可能是:你的网络屏蔽了需要连接的网站,更换手机流量热点即可解决

  6. CGI、FastCGI和PHP-FPM区别和关系详解

    在搭建 LAMP/LNMP 服务器时,会经常遇到 PHP-FPM.FastCGI和CGI 这几个概念.如果对它们一知半解,很难搭建出高性能的服务器.接下来我们就以图形方式,解释这些概念之间的关系. 1 ...

  7. C# Winform与JS交互

    一.C#调用JS函数 1.JS代码 < script language = "javascript" > function Hello(msg) { alert('我是 ...

  8. Groovy 基于Groovy实现DES加解密

    groovy 3.0.7 DES加密简介 加密分为对称加密和非对称加密.非对称加密,加解密使用不同的密钥,如RSA:对称加密,加解密使用相同的密钥,如DES(Data Encryption Stand ...

  9. 「图论」Bron-kerbosch算法

    7.21晚上加赛 T2.七负我,做这题找到了性质发现需要求最大团,不会,爆搜,打假了,赛后改,对了,但时间复杂度大爆炸,看下发题解,有这么一句话:于是学习了一下. Bron-kerbosch算法-求图 ...

  10. GraphRAG介绍

    GraphRAG GraphRAG 是一种基于图的检索增强方法,由微软开发并开源.它通过结合LLM和图机器学习的技术,从非结构化的文本中提取结构化的数据,构建知识图谱,以支持问答.摘要等多种应用场景. ...