效果图:

前面字体是个透明窗口

后面是桌面背景

代码实现:

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. RuoYi-Cloud从配置到运行

    前期准备工作 若依微服务版(RuoYi-Cloud)代码下载:https://gitee.com/y_project/RuoYi-Cloud 注册中心(nacos)下载:https://www.ali ...

  2. Windows 编译 FFMpeg

    Windows 编译 FFMpeg 背景: 为了提高公司产品的质量,对FFMPEG进行优化,需要重新编译. Host :Windows-10,core-i7 MinGW :网络版 pkg-config ...

  3. aach64架构 ubuntu20 桌面版 编译安装ffmpeg难点总结

    [编译安装x264] 这一步基本上没有难点 git clone https://gitee.com/mirrors/x264.git ./configure --enable-shared --ena ...

  4. CM3调试系统简析

    CM3 调试系统简析 **"一直以来,单片机的调试一直不是很突出的主题,很多简单些的程序在开发中,甚至都没有调试的概念,而只是把生成的映像直接烧入片子,再根据错误症状来判断问题,然后修改程序 ...

  5. 用这开源小书学 Docker,香!

    > 最新.全面.通俗.可多端阅读的 Docker 教程小书.>> 编程导航开源仓库:https://github.com/liyupi/code-navDocker 可以说是一个改变 ...

  6. 使用 useLazyFetch 进行异步数据获取

    title: 使用 useLazyFetch 进行异步数据获取 date: 2024/7/20 updated: 2024/7/20 author: cmdragon excerpt: 摘要:&quo ...

  7. Docker 容器数据:持久化

    Docker 容器数据:持久化 每当从镜像创建容器时,它都会创建一个新容器,除了镜像数据之外没有任何数据 意味着如果在提交更改之前删除容器,我们将丢失数据 Docker 应该存在一种将数据的文件系统与 ...

  8. 如何更好的使用 Windows

    如何更好的使用 Windows Microsoft 辅助功能和工具 键盘快捷方式,常用 ctrl+C 复制 ctrl+V 粘贴 ctrl+X 剪切 ctrl+Z 撤销 ctrl+Y 回退 alt+ta ...

  9. 在英特尔 Gaudi 2 上加速蛋白质语言模型 ProtST

    引言 蛋白质语言模型 (Protein Language Models, PLM) 已成为蛋白质结构与功能预测及设计的有力工具.在 2023 年国际机器学习会议 (ICML) 上,MILA 和英特尔实 ...

  10. .NET 高性能缓冲队列实现 BufferQueue

    目录 前言 适用场景 功能说明 使用示例 BufferQueue 内部设计概述 Topic 的隔离 Partition 的设计 对并发的支持 Partition 的动态扩容 Segment 的回收机制 ...