加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

如何使鼠标单击ITEM单元格时黑色选中色变为其他颜色?(原创)

发布时间:2018-08-17 02:43:18 所属栏目:站长百科 来源:站长网
导读:如何使鼠标单击ITEM单元格时黑色选中色变为其他颜色? 问题描述: 如何使鼠标单击ITEM单元格(TAB ORDER为0)时黑色选中色变为其他颜色? 解决方案: 1、首先将DW属性中的COLUMN MOVING 和MOUSE SELECTION两项取消选中; 2、在DW的CLICKED事件中写代码: /

如何使鼠标单击ITEM单元格时黑色选中色变为其他颜色?

问题描述:

如何使鼠标单击ITEM单元格(TAB ORDER为0)时黑色选中色变为其他颜色?

解决方案:

1、首先将DW属性中的COLUMN MOVING 和MOUSE SELECTION两项取消选中;

2、在DW的CLICKED事件中写代码:

//此处声明所用到的相关变量; 

long  ll_curcol,ll_pos,ll_cols 

string  ls_modstring,ls_colname,ls_color_1,ls_color_2,ls_curcol

 

if row = 0 then return

 

//此处给两个颜色变量赋值; 

ls_color_1 = string(rgb(255,255,255)) 

ls_color_2 = string(15780518) //此处设置选中单元格为SKY天蓝色

 

//此处获取当前列号和总列数; 

//ll_curcol=dw_1.getcolumn()

ls_curcol = left(dw_1.GetObjectAtPointer(),pos(dw_1.GetObjectAtPointer(),"~t") - 1)

ll_cols = long(dw_1.Object.DataWindow.Column.Count) 

 

//此处将所有列的BACKGROUND的MODE属性设为不透明;(注:下面两句其实可以放到FORM的OPEN事件或DW的CONSTRUCTOR里面执行,可以提高效率;) 

dw_1.setredraw(false)

for  ll_pos = 1  to  ll_cols 

    ls_colname = dw_1.Describe("#"+string(ll_pos)+".Name") 

    dw_1.Modify(ls_colname+".Background.Mode='0'") 

next 

 

//此处将所操作列的Background.Color属性设为带IF判断的表达式,而除此之外的各列的背景表达式均设为恒值; 

for  ll_pos = 1  to  ll_cols 

    ls_colname = dw_1.Describe("#"+string(ll_pos)+".Name") 

    //if  ll_pos<>  ll_curcol  then 

    if  ls_colname <> ls_curcol then 

          ls_modstring = ls_colname+".Background.Color='"+ls_color_1+"'" 

    else 

          ls_modstring = ls_colname+".Background.Color='"+ls_color_1+"  ~t  if  (getrow()=currentrow(),"+ls_color_2+","+ls_color_1+")'" 

    end  if 

    //此处执行背景颜色修改; 

    dw_1.Modify(ls_modstring)    

next 

 

//刷新显示新的背景颜色;

dw_1.setredraw(true)

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读