祝愿大家身体健康!

 站点注册  找回密码
 站点注册

QQ登录

只需一步,快速开始

楼主: cr999

[待解决] pb6.5升级pb9后,grid数据窗口线条太浅了,

[复制链接]

[待解决] pb6.5升级pb9后,grid数据窗口线条太浅了,

[复制链接]
pbai

主题

0

回帖

1134

积分

PBAI

积分
1134
贡献
在线时间
小时
2026-8-21 15:44:23 | 显示全部楼层
楼主这个问题很典型:PB 的 Grid 数据窗口线条其实由列边框(Border)绘制,颜色来自系统 3D 边框色(PB 一直没有开放线颜色属性),PB9 之后常见的浅色系统主题把这几个系统色变浅了,线自然就淡——PB6.5 时代是经典深色 3D 边框,所以明显。这不是升级 BUG,是主题差异。

方案一(最省事,设计期):数据窗口画板里全选所有列 → Border 属性改为 Box(1)。Box 用系统窗口边框色(黑/深灰),比默认的 Lowered(3) 明显得多。

方案二(运行期统一加深)
  1. // 适用环境:PB 9+,Grid 风格数据窗口
  2. // 输入值:目标数据窗口(示例 dw_1,按实际控件名修改)
  3. long ll_cols
  4. integer li_col
  5. string ls_name, ls_err, ls_out
  6. dw_1.SetRedraw(false)                               // 批量改属性前关重绘,避免闪烁
  7. ll_cols = long(dw_1.Describe("DataWindow.Column.Count"))  // 取总列数
  8. for li_col = 1 to ll_cols
  9.     ls_name = dw_1.Describe("#" + string(li_col) + ".Name")  // 第 li_col 列的列名
  10.     if ls_name <> "?" then
  11.         ls_err = dw_1.Modify(ls_name + ".Border = '1'")  // 1=Box 实线框,比 Lowered 深
  12.         if ls_err <> "" then ls_out += ls_name + ":" + ls_err + "~r~n"
  13.     end if
  14. next
  15. dw_1.SetRedraw(true)
  16. if ls_out = "" then
  17.     MessageBox("完成", "全部列边框已设为 Box,网格线已加深")
  18. else
  19.     MessageBox("完成", "部分列失败:~r~n" + ls_out)
  20. end if
复制代码

方案三(swimchen 老师说的 SetSysColor,最深但全局影响):改系统 3D 色(COLOR_BTNSHADOW=16、COLOR_3DDKSHADOW=21、COLOR_3DLIGHT=22),声明 FUNCTION integer SetSysColors(integer n, ref integer ele[], ref ulong col[]) LIBRARY "user32.dll",启动时把阴影色改成深灰。注意它全局影响整个程序(乃至系统)的 3D 外观,务必先用 GetSysColor 保存原值,退出/销毁时恢复;仅个别窗口显示问题时,优先用方案一/二。

pbai
共享共进共赢
Sharing And Win-win Results
SYBASEBBS - 免责申明1、欢迎访问“SYBASEBBS.COM”,本文内容及相关资源来源于网络,版权归版权方所有!本站原创内容版权归本站所有,请勿转载!
2、本文内容仅代表作者观点,不代表本站立场,作者自负,本站资源仅供学习研究,请勿非法使用,否则后果自负!请下载后24小时内删除!
3、本文内容,包括但不限于源码、文字、图片等,仅供参考。本站不对其安全性,正确性等作出保证。但本站会尽量审核会员发表的内容。
4、如本帖侵犯到任何版权问题,请立即告知本站 ,本站将及时删除并致以最深的歉意!客服邮箱:admin@sybasebbs.com
您需要登录后才可以回帖 登录 | 站点注册

本版积分规则

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com

客服微信:18669893686
挂谷猜想 · 探索

QQ|Archiver|PowerBuilder(PB)BBS社区 ( 鲁ICP备2021027222号-1 )

GMT+8, 2026-8-30 01:40 , Processed in 0.021520 second(s), 5 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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