以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关于窗口显示切换及鼠标移动行样式并存  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172139)

--  作者:工匠
--  发布时间:2021/9/25 21:19:00
--  [求助]关于窗口显示切换及鼠标移动行样式并存
老师好:
请教一下,请帮看看,如何实现窗口半屏/覆盖任务栏全屏/不覆盖任务栏全屏之前按钮切换,以及鼠标移动表行和其他样式并存
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:显示切换.table
另外,请教一下,论坛金币如何购买兑换
谢谢!

--  作者:有点蓝
--  发布时间:2021/9/26 9:03:00
--  
论坛金币没有任何用处,也无法购买兑换。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:显示切换.zip


如果要使用全局表drawcell事件,注意
1、需要启用对应的datatable这个事件:http://www.foxtable.com/webhelp/topics/0671.htm
2、这个表的表属性的drawcell事件不能有任何字符,也就是使用了全局表drawcell事件,不能再使用表属性的drawcell事件,否则全局表drawcell事件会无效

--  作者:工匠
--  发布时间:2021/9/26 20:13:00
--  
谢谢蓝老师,窗口切换大小可以了
样式只能写在每个表事件,请教一下,如果是鼠标移动到焦点行时,就不绘制(暂停绘制代码),鼠标停留行不是焦点行才绘制,并且只绘制背景色,不绘制字体颜色,要怎么设置,谢谢!
[此贴子已经被作者于2021/9/26 20:16:18编辑过]

--  作者:有点蓝
--  发布时间:2021/9/26 20:32:00
--  
If e.Table.Name = vars("t") And e.Row.Index = vars("r") AndAlso vars("r") <> e.Table.Position Then
    e.Table.DataTable.AddUserStyle("样式1",Color.blue,Nothing)
    e.Style = "样式1"
End If

背景色和字体颜色只能同时设置

--  作者:工匠
--  发布时间:2021/10/12 9:42:00
--  
谢谢蓝老师,之前没有用鼠标离开单元格事件,导致鼠标离开了当前表,上次绘制结果还停留显示在上次的表,启用了鼠标离开单元格事件,就报错,请老师帮看看怎么修改代码,谢谢!


 
此主题相关图片如下:01.png
按此在新窗口浏览图片

此主题相关图片如下:02.png
按此在新窗口浏览图片


功能:鼠标滑过行高亮标识


事件:MouseEnterCell


代码:vars("t") = e.Table.Name

vars("r") = e.Row.Index

e.Table.Refresh

 

事件:MouseLeaveCell

代码:

vars("t") = Nothing

vars("r") = -1


事件DrawCell


If e.Table.Name = vars("t") And e.Row.Index = vars("r") Then

e.Table.DataTable.AddUserStyle("样式1",Color.WhiteSmoke,Color.black)

e.Style = "样式1"

End If

 

备注:把e.Table改成  CurrentTable 也一样报错




谢谢!

--  作者:有点蓝
--  发布时间:2021/10/12 9:48:00
--  
vars("t") = Nothing
改为
vars("t") = ""

--  作者:工匠
--  发布时间:2021/10/12 10:10:00
--  
谢谢蓝老师,不知道什么原因,加了鼠标离开事件,把nothing改为"",删掉BIN,重启,只要在操作表(主表或字表)上次绘制的还是会保留在另一个上次的表行绘制。点击窗体其他按钮后也还在,只有点击了目录树,才会消失绘制

图片点击可在新窗口打开查看此主题相关图片如下:鼠标离开单元格绘制.png
图片点击可在新窗口打开查看

谢谢!


--  作者:有点蓝
--  发布时间:2021/10/12 10:21:00
--  
MouseLeaveCell加一句e.Table.Refresh
--  作者:工匠
--  发布时间:2021/10/12 10:37:00
--  
谢谢蓝老师,可以了!
--  作者:工匠
--  发布时间:2021/10/15 11:21:00
--  
蓝老师好,鼠标经过行高亮,在单个表可以按需求任意设置高亮色和字体。但是在关联表的字表设置后,如果操作的是字表,鼠标离开当前表,回到主表时的当时会清除绘制(是需要的效果),但是如果在主表任意切换不同的主表行后,字表的绘制又跑出来了(应该是我是用主表的单号加载的字表数据,导致字表也会有焦点,就会字表也绘制了),有没有办法,用代码控制,在主表的行焦点切换后,关闭当前关联字表的绘制。下次鼠标单击了关联的字表后,重新启动绘制
谢谢!