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

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

相关推荐
十秒耿直拆包选手2 小时前
Qt:主窗体(QMainwindow)初始化注意事项
c++·qt
霖004 小时前
C++学习笔记三
运维·开发语言·c++·笔记·学习·fpga开发
mit6.8244 小时前
[shad-PS4] Vulkan渲染器 | 着色器_重新编译器 | SPIR-V 格式
c++·游戏引擎·ps4
tan77º5 小时前
【Linux网络编程】Socket - TCP
linux·网络·c++·tcp/ip
Mike_Zhang6 小时前
C++使用WinHTTP访问http/https服务
c++
CHANG_THE_WORLD6 小时前
「macOS 系统字体收集器 (C++17 实现)」
开发语言·c++·macos
GiraKoo7 小时前
【GiraKoo】Breakpad 崩溃分析系统
c++
妄想出头的工业炼药师7 小时前
python和C++相互调用使用
开发语言·c++
景彡先生7 小时前
C++17 并行算法:std::execution::par
开发语言·c++
JiaJZhong7 小时前
力扣.最长回文子串(c++)
java·c++·leetcode