⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 如何绘制显示进度百分比的进度条.txt

📁 VB技巧问答10000例 VB技巧问答10000例
💻 TXT
字号:
你 这 个 问 题 使 我 想 起 了 几 年 前 我 对 这 个 问 题 的 研 究 , 当 时 我 也 对 字 体 颜 色 改 变 感 到 困 惑 , 但 后 来 我 还 是 想 了 一 个 简 单 的 办 法 。 实 际 上 这 要 利 用 API的 一 个 函 数 ExtTextOut。 这 个 函 数 允 许 输 出 文 字 时 指 定 文 字 的 坐 标 和 一 个 矩 形 。 这 个 矩 形 用 来 剪 裁 文 字 , 超 出 矩 形 的 文 字 将 不 会 被 显 示 出 来 。 所 以 绘 制 百 分 比 分 两 次 矩 形 , 每 次 文 字 都 在 中 央 输 出 , 但 一 次 为 白 色 , 一 次 为 黑 色 。 两 次 的 矩 形 是 不 同 的 , 一 个 是 左 边 的 蓝 色 进 度 条 , 另 一 次 是 右 边 的 白 色 部 分 。 由 于 ExtTextOut的 剪 裁 作 用 , 就 出 现 了 半 个 字 的 效 果 。 具 体 程 序 如 下 : 
    // nImageWidth, nImageHeight为 图 形 区 域 宽 度 和 高 度 
    // nWidth, nHeight为 百 分 比 字 符 串 的 宽 度 和 高 度 
    SetTextColor(hDC, WHITE); 
    hBrush = CreateSolidBrush(BLUE); 
    hBrushOld = SelectObject(hBrush); 
    rect.Left = 0; 
    rect.Right = nImageWidth * Value / 100; 
    rect.Top = 0; 
    rect.Bottom = nImageHeight; 
    ExtTextOut(hDC, 
     (nImageWidth -nWidth) / 2, 
     (nImageHeight -nHeight) / 2, 
     ETO_CLIPPED | ETO_OPAQUE, 
     &rect, 
     sString, 
     sString, 
     NULL); 
    rect.Left = rect.Right; 
    rect.Right = nImageWidth; 
    SetTextColor(hDC, BLACK); 
    SelectObject(hBrushOld); 
    DeleteObject(hBrush); 
    hBrush = CreateSolidBrush(WHITE); 
    hBrushOld = SelectObject(hBrush); 
    ExtTextOut(hDC, 
     (nImageWidth -nWidth) / 2, 
     (nImageHeight -nHeight) / 2, 
     ETO_CLIPPED | ETO_OPAQUE, 
     &rect, 
     sString, 
     sString, 
     NULL); 
    SelectObject(hBrushOld); 
    DeleteObject(hBrush); 
    另 外 , 你 可 以 在 http://www.zealsoftstudio.com/cn/progbar/下 载 用 VB实 现 的 源 程 序 。 
<END>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -