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

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

相关推荐
卑微的小李1 小时前
Qt在Linux下编译发布 -- linuxdeployqt的使用
linux·c++·qt
君鼎1 小时前
More Effective C++条款12:理解抛出一个异常与传递一个参数或调用一个虚函数间的差异
c++
Doopny@2 小时前
实现多态的三个必要条件?
c++
稳兽龙4 小时前
codeforces(1045)(div2)D. Sliding Tree
c++·算法··路径树
倔强的石头4 小时前
java程序员如何搭建C++windows开发环境搭建(三)
c++·后端
_君落羽_5 小时前
Linux操作系统——TCP服务端并发模型
linux·服务器·c++
Q741_1479 小时前
C++ 力扣 76.最小覆盖子串 题解 优选算法 滑动窗口 每日一题
c++·算法·leetcode·双指针·滑动窗口
Incredibuild16 小时前
DevSecOps 集成 CI/CD Pipeline:实用指南
c++·ci/cd·devsecops
君鼎19 小时前
More Effective C++ 条款01:仔细区别 pointers 和 references
c++
工藤新一¹21 小时前
C/C++ 数据结构 —— 树(2)
c语言·数据结构·c++·二叉树··c/c++