请教,DrawTextW函数和DrawTextExW函数如何在火山PC中表达
本帖最后由 雪很冷 于 2024-9-9 09:43 编辑初学API,还请指点。特别是 lprc、format 、lpdtp这些参数,数据类型不晓得如何写
DrawTextW函数:
int WINAPI DrawTextW(
HDC hdc, // 设备上下文句柄
LPWSTR lpchText, // 指向要绘制的文本字符串的指针
int cchText, // 文本字符串的长度(以字符为单位)
LPRECT lprc, // 指向包含文本绘制区域的矩形的指针
UINT format) //设置文本格式的方法
DrawTextExW函数比DrawTextW还多了一个参数。
int DrawTextExW( HDC hdc, LPWSTR lpchText, int cchText, LPRECT lprc, UINT format, LPDRAWTEXTPARAMS lpdtp );
多了最后一个参数,完全懵
老大。您高估了一位菜鸟的能力啊。模仿也很难的。能上个实例最好。
还有DrawTextExW
int DrawTextExW( HDC hdc, LPWSTR lpchText, int cchText, LPRECT lprc, UINT format, LPDRAWTEXTPARAMS lpdtp );
多了最后一个参数,完全懵 谢谢老大,请教下DLL声明写函数如何写。简单举下例子更好。多谢。炫语言过后再去了解。因为在学火山,暂时没精力 <火山程序 类型 = "通常" 版本 = 1 />
类 绘制文本参数指针 <公开 基础类 = 本地结构指针模板 折叠 @别名 = "LPDRAWTEXTPARAMS">
{
变量 cbSize <公开 类型 = 无符号整数 @输出名 = "cbSize">
变量 iTabLength <公开 类型 = 整数 @输出名 = "iTabLength">
变量 iLeftMargin <公开 类型 = 整数 @输出名 = "iLeftMargin">
变量 iRightMargin <公开 类型 = 整数 @输出名 = "iRightMargin">
变量 uiLengthDrawn <公开 类型 = 无符号整数 @输出名 = "uiLengthDrawn">
#
}
类 案例 <折叠>
{
方法 DrawTextExW <公开 静态 类型 = 整数 折叠 @禁止流程检查 = 真>
参数 设备句柄 <类型 = 变整数>
参数 绘制文本 <类型 = 文本型>
参数 坐标 <类型 = 矩形类>
参数 格式 <类型 = 无符号整数>
参数 绘制文本参数 <类型 = 绘制文本参数指针 @默认值 = 空对象>
{
@ return DrawTextExW((HDC)@<设备句柄>, @<绘制文本>.GetText(), @<绘制文本>.GetLength(), (LPRECT)&@<坐标.左边>, @<格式>, @<绘制文本参数>);
}
方法 例子 <折叠>
{
变量 设备句柄 <类型 = 变整数>
变量 坐标 <类型 = 矩形类>
变量 格式 <类型 = 无符号整数 注释 = "那些常量懒得封了">
DrawTextExW (设备句柄, "绘制文本", 坐标, 格式, 空对象)
// 如果要用最后一个参数
变量 文本参数 <类型 = 绘制文本参数指针>
文本参数 = 绘制文本参数指针.创建 ()
文本参数.cbSize = 绘制文本参数指针.取数据尺寸 ()// 这个参数应该是必须的,其他懒得写了
DrawTextExW (设备句柄, "绘制文本", 坐标, 格式, 文本参数)
文本参数.销毁 ()// 指针用完要销毁
}
}
页:
[1]
2