以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]25版重大问题——已找到原因,见4楼  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=150366)

--  作者:shenyl0211
--  发布时间:2020/5/28 9:45:00
--  [求助]25版重大问题——已找到原因,见4楼
25版恢复了【动态管理函数】,很高兴,就下载安装了,且发布了,却没发现带来了重大问题。
 下列设置表样式的背景色和字体色以前是很好的,现在却彻底崩溃了,因为都不是自己想要的了,特别是选定单元格是白底白字,什么也干不了:
    dt.SysStyles("Normal").BackColor = color.Honeydew  \'数据区,Color.FromARGB(255,204,232,207) 豆沙绿
    dt.SysStyles("Normal").ForeColor = color.black
    dt.SysStyles("Highlight").BackColor = Color.Blue \'选定区
    dt.SysStyles("Highlight").ForeColor = Color.white
    dt.SysStyles("Fixed").BackColor = Color.yellow \'标题行,先统一设为黄色,表示需要手工输入,再在表事件中设置
    dt.SysStyles("Fixed").ForeColor = Color.black
    dt.SysStyles("SelectedColumnHeader").BackColor = color.gold \'选定列的列标题,设置后会干扰标题行的底色
    dt.SysStyles("Alternate").BackColor = Color.Honeydew \'交替行,与数据区一致,即不用交替行
    dt.SysStyles("Frozen").BackColor = Color.PeachPuff \'冻结区
    dt.SysStyles("Focus").BackColor = Color.blue \'焦点单元格
    dt.SysStyles("Focus").foreColor = Color.white
    dt.SysStyles("ModifiedCell").BackColor = Color.red \'已修改单元格
    dt.SysStyles("CurrentRow").BackColor = Color.Cyan \'当前行
    dt.SysStyles("GrandTotal").BackColor = Color.PaleGreen \'总计行
    dt.SysStyles("Subtotal0").BackColor = Color.Pink \'小计行0
    dt.SysStyles("Subtotal1").BackColor = Color.lightCyan \'小计行1
    dt.SysStyles("EmptyArea").BackColor = Color.WhiteSmoke \'Transparent \'空白区
    dt.SysStyles("SelectedRowHeader").BackColor = Color.white \'选定行行号
    dt.SysStyles("SelectedRowHeader").ForeColor = Color.red
    dt.SysStyles("UnchangedRowHeader").BackColor = Color.snow \'普通行行号
    dt.SysStyles("UnchangedRowHeader").ForeColor = Color.Blue
    dt.SysStyles("ModifiedRowHeader").BackColor = Color.Red \'已修改行号
    dt.SysStyles("ModifiedRowHeader").ForeColor = Color.white

[此贴子已经被作者于2020/5/28 11:42:40编辑过]

--  作者:有点蓝
--  发布时间:2020/5/28 9:58:00
--  
正常应该是什么样的?截图看看

这个是我最新版测试的结果

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


--  作者:shenyl0211
--  发布时间:2020/5/28 10:07:00
--  
蓝版:经你启发,测试了新项目,确实没问题。谢谢。我看看项目哪儿出了问题。
--  作者:shenyl0211
--  发布时间:2020/5/28 11:41:00
--  
终于搞清楚了,必须在设置dt的样式之前,先设置t的下列属性,但原来是没有先后顺序要求的:
    t.UseVisualStyle = False \'禁用系统界面风格,这样才能使用配色方案,否则不能自定义列标题区和选定区的背景颜色
    t.Listmode = True \'开启光标所在行底色(整行突出),才能设置当前行的字体颜色和背景颜色
    t.FocusRect = True \'突出显示焦点单元格