当前位置: 首页 > news >正文

MFC ExtTextOut函数学习

ExtTextOut - 扩展的文本输出;

win32 api的声明如下;
ExtTextOut(
  DC: HDC;          {设备环境句柄}
  X, Y: Integer;    {起点坐标}
  Options: Longint; {选项}
  Rect: PRect;      {指定显示范围; 0 表示限制范围}
  Str: PChar;       {字符串指针}
  Count: Longint;   {字符串长度}
  Dx: PInteger      {表示字符间距的数组; 是可选值}
): BOOL;

//Options 参数可选值:
ETO_OPAQUE         = 2;     {输出前, 用当前背景色填充矩形}
ETO_CLIPPED        = 4;     {剪切输出, 只输出矩形范围内的文本}
ETO_GLYPH_INDEX    = 10;
ETO_RTLREADING     = 80; 
ETO_NUMERICSLOCAL  = 400;
ETO_NUMERICSLATIN  = 800;
ETO_IGNORELANGUAGE = 1000;
ETO_PDY            = 2000;

VC6新建一个单文档工程;

void CExtView::OnDraw(CDC* pDC)
{CExtDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data hereCRect rect1(10,10,250,200);CString str1 = "Delphi";int iArray[] = {10,20,30,40,50};int iArray2[] = {10,30,50,70,90};pDC->ExtTextOut(50, 50, ETO_CLIPPED, rect1, str1, 6, iArray);pDC->ExtTextOut(50, 80, ETO_CLIPPED, rect1, str1, 6, iArray2);
}

看一下输出一个字符串时,通过一个字符间距数组的控制,实现了字符间距逐步扩大的输出; 

相关文章:

MFC ExtTextOut函数学习

ExtTextOut - 扩展的文本输出; win32 api的声明如下; ExtTextOut( DC: HDC; {设备环境句柄} X, Y: Integer; {起点坐标} Options: Longint; {选项} Rect: PRect; {指定显示范围; 0 表示限制范围} Str: PChar; {字符串…...

Java中阻塞队列原理、特点、适用场景

文章目录 阻塞队列对比、总览阻塞队列本质思想主要队列讲解ArrayBlockingQueueLinkedBlockingQueueSynchronousQueueLinkedTransferQueuePriorityBlockingQueueDelayQueueLinkedBlockingDeque 阻塞队列对比、总览 阻塞队列本质思想 阻塞队列都是线程安全的队列. 其最主要的功能…...

PHP之linux、apache和nginx与安全优化面试题

1.linux常用命令 查看目录pwd 创建文件touch 创建目录mkdir 删除文件rm 删除目录rmdir移动改名文件 mc 查询目录find 修改权限chmod 压缩包 tar 安装 yum install 修改文件vi查看进程ps 停止进程kill 定时任务crontab 2、nginx的优化 gzip压缩优化 expires缓存…...

算法笔记:0-1背包问题

n个商品组成集合O,每个商品有两个属性vi(体积)和pi(价格),背包容量为C。 求解一个商品子集S,令 优化目标 1. 枚举所有商品组合 共2^n - 1种情况 2. 递归求解 KnapsackSR(h, i, c)&#xff…...

C++入门-day02

引言:在上一节中我们接触了C中的命名空间,学会了C中的标准输出流。这一节,我标题一们讲讲缺省、重载。 一、缺省参数 在C中,给函数的形参默认给一个值就是缺省参数,你可能会比较懵逼,下面看一段代码。 正常…...

模板方法模式,基于继承实现的简单的设计模式(设计模式与开发实践 P11)

文章目录 实现举例应用钩子 Hook 模板方法模式是一种基于继承的设计模式,由两部分构成: 抽象父类(一般封装了子类的算法框架)具体的实现子类 实现 简单地通过继承就可以实现 举例 足球赛 和 篮球赛 都有 3 个步骤&#xff0c…...

php实战案例记录(16)php://input输入流

php://input是PHP中的一个特殊的输入流,它允许访问请求的原始数据。它主要用于处理非表单的POST请求,例如当请求的内容类型为application/json或application/xml时。使用php://input可以获取到POST请求中的原始数据,无论数据是什么格式。使用…...

cad图纸如何防止盗图(一个的制造设计型企业如何保护设计图纸文件)

在现代企业中,设计图纸是公司的重要知识产权,关系到公司的核心竞争力。然而,随着技术的发展,员工获取和传播设计图纸的途径越来越多样化,如何有效地防止员工复制设计图纸成为了企业管理的一大挑战。本文将从技术、管理…...

Windows11 安全中心页面不可用问题(无法打开病毒和威胁防护)解决方案汇总(图文介绍版)

本文目录 Windows版本与报错信息问题详细图片: 解决方案:方案一、管理员权限(若你确定你的电脑只有你一个账户,则此教程无效,若你也不清楚,请阅读后再做打算)方案二、修改注册表(常用方案)方案三、进入开发…...

1329: 【C2】【排序】奖学金

题目描述 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序&#xff0c…...

解决dockerfile创建镜像时pip install报错的bug

项目场景: 使用docker-compose创建django容器 问题描述 > [5/5] RUN /bin/bash -c source ~/.bashrc && python3 -m pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple: 0.954 Looking in indexes: https://…...

算法题:分发饼干

这个题目是贪心算法的基础练习题,解决思路是排序双指针谈心法,先将两个数组分别排序,优先满足最小胃口的孩子。(本题完整题目附在了最后面) 代码如下: class Solution(object):def findContentChildren(se…...

WebSocket编程golang

WebSocket编程 WebSocket协议解读 websocket和http协议的关联: 都是应用层协议,都基于tcp传输协议。跟http有良好的兼容性,ws和http的默认端口都是80,wss和https的默认端口都是443。websocket在握手阶段采用http发送数据。 we…...

PHP之redis 和 memache面试题

目录 1、什么是Redis?它的主要特点是什么? 2、redis数据类型 3、Redis的持久化机制有哪些?它们之间有什么区别? 4、Redis的主从复制是什么?如何配置Redis的主从复制? 5、Redis的集群模式是什么&#xf…...

java socket实现代理Android App

实现逻辑就是转发请求和响应。 核心代码 // 启动代理服务器private void startProxyServer() {new Thread(new ProxyServer()).start();}// 代理服务器static class ProxyServer implements Runnable {Overridepublic void run() {try {// 监听指定的端口int port 8098; //一…...

Nacos与Eureka的区别

大家好我是苏麟今天说一说Nacos与Eureka的区别. Nacos Nacos的服务实例分为两种l类型: 临时实例:如果实例宕机超过一定时间,会从服务列表剔除,默认的类型。非临时实例:如果实例宕机,不会从服务列表剔除&…...

浅谈Rob Pike的五条编程规范

又是一篇需要我们多些思考的文章~ 简介下Rob Pike Rob Pike是Unix的先驱,UTF-8的设计人,Go语言核心设计者之一。 Rob Pike的5条编程规则 原文地址:http://users.ece.utexas.edu/~adnan/pike.html 中文翻译: 罗布派克&#x…...

LeetCode 377.组合总和IV 可解决一步爬m个台阶到n阶楼顶问题( 完全背包 + 排列数)

给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。 题目数据保证答案符合 32 位整数范围 示例 1: 输入:nums [1,2,3], target 4 输出:7 解释&#x…...

C中volatile总结

在CPU处理过程中,需要将内存中的数据载入到寄存器中才能计算,所以可能涉及到一个问题,如果内存中的数据被更改了,但是寄存器还是使用的旧数据,这样就会造成数据的不同步。 一、volatile关键字的作用 使用volatile关键…...

asp.net班级管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net班级管理系统 是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用c#语言开发 asp.net班级管理系统 二、功能介绍 1…...

别再只数连接数了!用Betweenness和Closeness中心性,发现你网络数据里隐藏的‘真大佬’

网络分析进阶:如何用中心性指标挖掘数据中的隐形枢纽 当你分析公司内部通讯记录时,是否发现那些看似活跃的"社交达人"其实对信息流动影响有限?而在角落里默默无闻的某个中层管理者,却可能是整个组织的关键枢纽&#xff…...

深度解析:如何高效实现Navicat Premium无限试用重置的完整实战指南

深度解析:如何高效实现Navicat Premium无限试用重置的完整实战指南 【免费下载链接】navicat_reset_mac navicat mac版无限重置试用期脚本 Navicat Mac Version Unlimited Trial Reset Script 项目地址: https://gitcode.com/gh_mirrors/na/navicat_reset_mac …...

别再纠结了!FLUENT两相流VOF、Mixture、Eulerian模型到底怎么选?附实战场景对比

FLUENT两相流模型实战指南:VOF、Mixture与Eulerian的精准选择策略 在计算流体动力学(CFD)领域,两相流问题一直是工程师们面临的重要挑战。无论是化工反应器中的气液混合,还是石油管道中的油水分离,亦或是能…...

ESP32玩转LVGL:给你的UI换个“皮肤”,SD卡里存几套字体随时切换

ESP32玩转LVGL:给你的UI换个“皮肤”,SD卡里存几套字体随时切换 想象一下,你的智能家居控制面板能像手机一样自由切换字体风格——早晨用圆润的卡通字体唤醒家人,工作时切换成极简无衬线字体提升专注度,夜晚则用优雅的…...

渗透测试必备:SQLmap 超详细使用指南,SQL 注入从入门到精通

01、SQLmap简介 Sqlmap是一款开源的渗透测试工具 🚀下载及安装 下载地址:http://sqlmap.org/ windows或mac下载第一个,linux下载第二个 kali默认自带sqlmap不需要安装 解压刚下载好的压缩包后,重命名为sqlmap 移动到python目…...

零代码文本分析:3步完成专业级内容挖掘的完整指南

零代码文本分析:3步完成专业级内容挖掘的完整指南 【免费下载链接】khcoder KH Coder: for Quantitative Content Analysis or Text Mining 项目地址: https://gitcode.com/gh_mirrors/kh/khcoder 面对海量文本数据,如何快速提取有价值的信息&…...

从‘虹猫蓝兔’到‘终身学习’:聊聊AI模型如何像人一样持续进化,而不只是‘打补丁’

从‘虹猫蓝兔’到‘终身学习’:AI模型如何像人类一样持续进化 想象一下,你刚学会骑自行车,第二天又学会了游泳——结果突然发现自己完全忘记了怎么骑车。这种荒谬的场景,正是当前AI模型在持续学习新任务时面临的真实困境。当推荐系…...

QtCharts实战:除了圆点和方块,教你用QPainterPath画出五角星散点图(附完整源码)

QtCharts高级定制:用QPainterPath实现品牌化散点图设计 在数据可视化领域,标准化的圆点和方块已经无法满足现代UI设计的需求。当我们需要在医疗报告中呈现特殊标记,或在商业仪表盘中嵌入品牌元素时,自定义图形绘制技术就成为刚需。…...

别再死记硬背了!用Fluent做流体仿真,这5个核心参数设置对了才算入门

别再死记硬背了!用Fluent做流体仿真,这5个核心参数设置对了才算入门 刚接触Fluent的工程师和学生常常会陷入一个误区:试图记住所有理论模型和参数的细节。但真实工程场景中,80%的仿真问题往往源于20%的关键参数设置不当。本文将聚…...

告别黑白终端:用C++转义序列为你的ROS_INFO和ROS_WARN消息添加高亮颜色(附完整代码示例)

告别黑白终端:用C转义序列为ROS日志注入视觉活力 在机器人操作系统(ROS)开发中,日志输出是我们与系统对话的重要窗口。想象一下,当你的机器人正在执行复杂任务时,终端里滚动着密密麻麻的黑白文字——重要错…...