炫彩界面库论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 6867|回复: 8

DrawText 无法改变绘制字体的大小 有什么办法能setfrontsize呢

[复制链接]

该用户从未签到

发表于 2012-6-15 12:00:37 | 显示全部楼层 |阅读模式
DrawText(pDrawItem->hdc,XStr_GetBuffer(pItem->hString),XStr_GetLength(pItem->hString),&rcText,DT_VCENTER | DT_SINGLELINE | DT_END_ELLIPSIS);

绘制时怎么可以自定义绘制字体大小 样式呢 库里有命令吗
  • TA的每日心情
    开心
    2022-1-9 18:18
  • 发表于 2012-6-15 19:00:44 | 显示全部楼层

    该用户从未签到

     楼主| 发表于 2012-6-16 15:36:44 | 显示全部楼层
    本帖最后由 呵呵123 于 2012-6-16 15:39 编辑


    确实 XEle_SetFont (hEle, hFont) 可以改变文字大小 但是改变的却是整个 hEle的文字
    如果我只想改变一个hdc 的文字大小 我该怎么做呢

    color = SetTextColor (pDrawItem.hdc, 取颜色值 (128, 128, 128)) 就像是这个函数一样 直接改变pDrawItem.hdc

    如果 XEle_SetFont (pDrawItem.hdc,front) 的话 那软件根本就没法运行 直接崩溃

  • TA的每日心情
    开心
    2022-1-9 18:18
  • 发表于 2012-6-16 21:34:42 | 显示全部楼层
    用系统API设置HDC字体.

    该用户从未签到

    发表于 2012-6-17 00:31:23 | 显示全部楼层
    帮你写了个例子

    创建字体例子.zip

    1.57 KB, 下载次数: 1086

    该用户从未签到

     楼主| 发表于 2012-6-17 03:11:48 | 显示全部楼层
    懒虫ゝ 发表于 2012-6-17 00:31
    帮你写了个例子

    谢谢版主啊 这个我倒是知道 但是这样改变的是整个 hEle所有的字体啊
    如果自绘的时候需要多种字体 XEle_SetFont (hdc,front)的话是行不通的 能告诉我一种设置hdc字体的方法么 万分感谢

    该用户从未签到

     楼主| 发表于 2012-6-17 03:34:58 | 显示全部楼层
    本帖最后由 呵呵123 于 2012-6-17 03:36 编辑

    .版本 2

    .DLL命令 SelectObject, 整数型, "gdi32", "SelectObject"
        .参数 hdc
        .参数 front


    奥 原来是这个函数控制的 终于知道了

    懒虫那个炫彩创建字体无法改变字体的啊

    查了下 正确写法应该是这个

    .版本 2

    .DLL命令 CreateFont, 整数型, "gdi32", "CreateFontA"
        .参数 nHeight, , , //字体的高度
        .参数 nWidth, , , //字体的宽度
        .参数 nEscapement, , , //字体显示的角度
        .参数 nOrientation, , , //字体的角度
        .参数 fnWeight, , , //字体的磅数
        .参数 fdwItalic, 逻辑型, , //斜体字体
        .参数 fdwUnderline, 逻辑型, , //带下划线的字体
        .参数 fdwStrikeOut, 逻辑型, , //带删除线的字体
        .参数 fdwCharSet, , , //所需的字符集
        .参数 fdwOutputPrecision, , , //输出的精度
        .参数 fdwClipPrecision, , , //裁减的精度
        .参数 fdwQuality, , , //逻辑字体与输出设
        .参数 fdwPitchAndFamily, , , //字体间距和字体集
        .参数 lpszFace, 文本型, , //字体名称

    字体句柄 = CreateFont (15, 0, 0, 0, 100, 假, 假, 假, 134, 2, 2, 2, 2, “黑体”) 这样的话就能随意更改字体了

    134 是简体中文字库 136是繁体中文字库 如果默认0的话 就是英文字库 所以不能更改字体

    不行了 困死我了 我去睡会了

    该用户从未签到

    发表于 2012-6-17 12:12:35 | 显示全部楼层
    呵呵123 发表于 2012-6-17 03:11
    谢谢版主啊 这个我倒是知道 但是这样改变的是整个 hEle所有的字体啊
    如果自绘的时候需要多种字体 XEle_S ...

    不会是整个的  你用XEle_SetFont设置单个元素的字体就可以了。

    该用户从未签到

     楼主| 发表于 2012-6-17 13:15:45 | 显示全部楼层

    我只

    本帖最后由 呵呵123 于 2012-6-17 13:17 编辑
    懒虫ゝ 发表于 2012-6-17 12:12
    不会是整个的  你用XEle_SetFont设置单个元素的字体就可以了。

    比如我自绘一个列表项目 一个列表项内有N行文字

    但是传递的时候只能取到 单个列表项的hEle  取不到单行文字的hEle 只能取到文字的hdc 这样的话 我改怎么写呢
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    QQ|Archiver|手机版|小黑屋|炫彩界面库 ( 鄂ICP备2023014763号-1 )

    GMT+8, 2024-5-3 17:09 , Processed in 0.072431 second(s), 21 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表