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新建一个单文档工程;

cpp 复制代码
void CExtView::OnDraw(CDC* pDC)
{
	CExtDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here

	CRect 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);
}

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

相关推荐
共享家95277 分钟前
红黑树解析
数据结构·c++·算法
君鼎25 分钟前
IO复用详解——C/C++
开发语言·c++
愚润求学29 分钟前
【Linux】动静态库的使用
linux·运维·服务器·开发语言·c++·笔记
写代码写到手抽筋40 分钟前
C++性能优化之访存优化(未完)
开发语言·c++
Dovis(誓平步青云)1 小时前
基于面向对象设计的C++日期推算引擎:精准高效的时间运算实现与运算重载工程化实践
开发语言·c++·经验分享·笔记
寂空_1 小时前
【算法笔记】ACM数论基础模板
c++·笔记·算法
kchmmd1 小时前
CMakeLists生成调用静态动态库可执行demo
c++
cdut_suye1 小时前
【Linux系统】从 C 语言文件操作到系统调用的核心原理
java·linux·数据结构·c++·人工智能·机器学习·云计算
wuqingshun3141591 小时前
蓝桥杯 10. 全球变暖
c++·算法·职场和发展·蓝桥杯
Tummer83632 小时前
C++四种类型转换:static_cast、 dynamic_cast const cast、 reinterpret_cast
c++