|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
支持多线程,充分利用CPU资源单位格|选中|原创
怎样使鼠标单击ITEM单位格时玄色选中色变成其他色彩?
成绩形貌:
怎样使鼠标单击ITEM单位格(TABORDER为0)时玄色选中色变成其他色彩?
办理计划:
1、起首将DW属性中的COLUMNMOVING和MOUSESELECTION两项作废选中;
2、在DW的CLICKED事务中写代码:
//此处声明所用到的相干变量;
longll_curcol,ll_pos,ll_cols
stringls_modstring,ls_colname,ls_color_1,ls_color_2,ls_curcol
ifrow=0thenreturn
//此处给两个色彩变量赋值;
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)
forll_pos=1toll_cols
ls_colname=dw_1.Describe("#"+string(ll_pos)+".Name")
dw_1.Modify(ls_colname+".Background.Mode=0")
next
//此处将所操纵列的Background.Color属性设为带IF判别的表达式,而除此以外的各列的背景表达式均设为恒值;
forll_pos=1toll_cols
ls_colname=dw_1.Describe("#"+string(ll_pos)+".Name")
//ifll_posll_curcolthen
ifls_colnamels_curcolthen
ls_modstring=ls_colname+".Background.Color="+ls_color_1+""
else
ls_modstring=ls_colname+".Background.Color="+ls_color_1+"~tif(getrow()=currentrow(),"+ls_color_2+","+ls_color_1+")"
endif
//此处实行背景色彩修正;
dw_1.Modify(ls_modstring)
next
//革新显现新的背景色彩;
dw_1.setredraw(true)
线上或者测试环境经常出现的误操作总是让DBA同学那么闹心。 |
|