WEB开发网
开发学院软件开发汇编语言 汇编教程之“绘制”文本串 阅读

汇编教程之“绘制”文本串

 2008-04-28 09:33:01 来源:WEB开发网   
核心提示:分析:CreateFont 函数产生一种逻辑字体,它尽可能地接近参数中指定的各相关值,汇编教程之“绘制”文本串(2),这个函数大概是所有 Windows API函数中所带参数最多的一个,它返回一个指向逻辑字体的句柄供调用 SelectObject 函数使用, hfont在我们“绘制”完成后,必须

分析:

CreateFont 函数产生一种逻辑字体,它尽可能地接近参数中指定的各相关值。这个函数大概是所有 Windows API函数中所带参数最多的一个。它返回一个指向逻辑字体的句柄供调用 SelectObject 函数使用。下面我们详细讲解该函数的参数:

CreateFont proto \

nHeight:DWORD,\

nWidth:DWORD,\

nEscapement:DWORD,\

nOrientation:DWORD,\

nWeight:DWORD,\

cItalic:DWORD,\

cUnderline:DWORD,\

cStrikeOut:DWORD,\

cCharSet:DWORD,\

cOutputPrecision:DWORD,\

cClipPrecision:DWORD,\

cQuality:DWORD,\

cPitchAndFamily:DWORD,\

lpFacename:DWORD

nHeight: 希望使用的字体的高度,0为缺省。

nWidth: 希望使用的字体的宽度,一般情况下最好用0, 这样 Windows 将会自动为您选择一个和高度匹配的值。因为在我们的例子中那样做的话会使得字符因太小而无法显示,所以 我 们设定它为16。

nEscapement: 每一个字符相对前一个字符的旋转角度,一般设成0。900代表转90度,1800转190度,2700转270度。

nOrientation: 字体的方向。

nWeight: 字体笔画的粗细。

Windows 为我们预定义了如下值:

FW_DONTCARE 等于 0

FW_THIN 等于 100

FW_EXTRALIGHT 等于 200

FW_ULTRALIGHT 等于 200

FW_LIGHT 等于 300

FW_NORMAL 等于 400

FW_REGULAR 等于 400

FW_MEDIUM 等于 500

FW_SEMIBOLD 等于 600

FW_DEMIBOLD 等于 600

FW_BOLD 等于 700

FW_EXTRABOLD 等于 800

FW_ULTRABOLD 等于 800

FW_HEAVY 等于 900

FW_BLACK 等于 900

cItalic: 0为正常,其它值为斜体。

cUnderline: 0为正常,其它值为有下划线。

cStrikeOut: 0为正常,其它值为删除线。

cCharSet: 字体的字符集。一般选择OEM_CHARSET,它使得 Windows 会选用和操作系统相关的字符集。

cOutputPrecision: 指定我们选择的字体接近真实字体的精度。 一般选用OUT_DEFAULT_PRECIS,它决定了缺省的映射方式。

cClipPrecision: 指定我们选择的字体在超出裁剪区域时的裁剪精度。 一般选用CLIP_DEFAULT_PRECIS,它决定了裁剪精度。

cQuality: 指定输出字体的质量。它指出GDI应如何尽可能的接近真实 字体,一共有三种方式:DEFAULT_QUALITY, PROOF_QUALITY 和DRAFT_QUALITY。

cPitchAndFamily:字型和字体家族。

lpFacename: 指定字体的名称。

上面的描述不一定好理解,您如果要的到更多的信息,应参考 WIN32 API 指南。

invoke SelectObject, hdc, eax
mov hfont,eax

在我们得到了指向逻辑字体的句柄后必须调用 SelectObject 函数把它选择进“设备环境”,我们还可以调用该函数把诸如此类的像颜色、笔、画刷 等GDI对象选进“设备环境”。该函数会返回一个旧的“设备环境”的句柄。您必须保存该句柄,以便在完成“绘制”工作后再把它选回。在调用 SelectObject 函数后一切的绘制函数都是针对该“设备环境”的。

RGB 200,200,50
invoke SetTextColor,hdc,eax
RGB 0,0,255
invoke SetBkColor,hdc,eax

我们用宏 RGB 产生颜色,然后分别调用 SetTextColor 和 SetBkColor。

invoke TextOut,hdc,0,0,ADDR TestString,SIZEOF TestString

我们调用 TextOut 在客户区用我们前面选定的字体和颜色“绘制”文本串。

invoke SelectObject,hdc, hfont

在我们“绘制”完成后,必须恢复“设备环境”。我们必须每一次都这么做。

上一页  1 2 

Tags:汇编 教程 绘制

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接