数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
如何使鼠标单击ITEM单元格时黑色选中色变为其他颜色?(原创)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

如何使鼠标单击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)




相关文章

相关软件