| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3203 人关注过本帖, 2 人收藏
标题:请问:如何实现移动显示出鼠标在屏幕上的xy坐标,及屏幕的颜色值?
只看楼主 加入收藏
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
回复 10楼 TonyDeng
看明白了,多谢!

坚守VFP最后的阵地
2013-07-20 21:16
qingfameng
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:35
帖 子:964
专家分:3019
注 册:2010-2-6
收藏
得分:0 
''

[ 本帖最后由 qingfameng 于 2013-7-21 21:33 编辑 ]
2013-07-20 21:20
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:0 
以下是引用TonyDeng在2013-7-20 01:15:04的发言:


看来你是到处流窜啊~

我下个学期回校就要学数据库,所以来数据库论坛逛逛,热热身,我学校变态的,下学期我不仅仅要学JAVA,数据库,还要.NET程序设计,数据结构与算法分析,所以才经常逛各个相关的论坛

思考赐予新生,时间在于定义
2013-07-20 21:28
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
回复 13楼 love云彩
学的不少
2013-07-20 21:33
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
PROCEDURE ColorToRGB(tnColor, tnRed, tnGreen, tnBlue)
    tnBlue = BITRSHIFT(tnColor, 16)
    tnGreen = MOD(BITRSHIFT(tnColor, 8), 256)
    tnRed = MOD(tnColor, 256)
ENDPROC
    PROCEDURE Image1.MouseMove(tnButton, tnShift, tnXCoord, tnYCoord)
        LOCAL lnRed, lnGreen, lnBlue
        ColorToRGB(ThisForm.Point(tnXCoord, tnYCoord), @lnRed, @lnGreen, @lnBlue)
        WITH This.Parent
            .Text1.Value = "(" + TRANSFORM(tnXCoord) + "," + TRANSFORM(tnYCoord) + ")"
            .Text2.Value = "(" + TRANSFORM(lnRed) + "," + TRANSFORM(lnGreen) + "," + TRANSFORM(lnBlue) + ")"
        ENDWITH
    ENDPROC

是否可以考虑合并,仅供参考

坚守VFP最后的阵地
2013-07-20 23:32
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 15楼 sdta
不能合并,那是独立的、有重用价值的功能函数,不要把它纠缠到具体的应用代码中,函数的使用者不需要知道它具体如何工作的,写进去只会让人难以理解(就如你不需要知道ASORT()函数是怎么工作的一样),由函数的名字来自我注释就可以了,这样不需再注释一整段代码是干什么的。这个函数的代码,是应该放在一个外部PRG中供各种各样的程序调用的,就如VFP的内置函数一样,本来就不应该被外人看到。

[ 本帖最后由 TonyDeng 于 2013-7-21 11:09 编辑 ]

授人以渔,不授人以鱼。
2013-07-21 10:53
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
以下是引用TonyDeng在2013-7-20 01:15:04的发言:


看来你是到处流窜啊~
对,有灌水捞分的嫌疑。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2013-07-21 18:07
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
dBASE、FoxPro之类数据库语言,一条指令相当于C的一百行左右,也是这样隐藏封装过的。SQL,是面向结果的语言,即务求只发出目的要求而让程序自动寻求最优实现方法获得期望结果的高级指令(等于是写好一段程序让人执行,每个VFP程序都是这类东西),一条SQL指令就相当于上百行的dBASE、FoxPro基本指令,也同样是这样隐藏封装的,也不要以为只写一行SQL指令就比人家写数十行原始代码高明得多,殊不知你的一行实际上可能是对方的数倍。这与C比汇编高级的原理是一样的,而各种更高级的语言也是逐步封装C指令的结果。

ColorToRGB(),函数命名自身就解释了它是干什么的,就是把Color值(24位整数,支持24位色深的系统才能使用)转换为用RGB三原色值表示的数据,而原本的内置函数RGB()所做的就是相反过程,把三元色值合并为24位整数,操作系统的颜色体系就是使用这种长整数结构,所以BackColor、ForeColor之类的属性值,都是后者,而我们写程序时用RGB()设色,只是自己看着方便罢了,函数的返回值才是最终使用的数据。这个函数与RGB()是互相逆转的一对,所以应拆分为独立函数,这是程序的逻辑,不把它混到具体代码中。

[ 本帖最后由 TonyDeng 于 2013-7-21 18:24 编辑 ]

授人以渔,不授人以鱼。
2013-07-21 18:16
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
TonyDeng的东西实在是上档次。
2013-07-31 15:12
a1255932814
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-7-29
收藏
得分:0 
初来乍到,多多指教,顺便混分
2013-07-31 15:30
快速回复:请问:如何实现移动显示出鼠标在屏幕上的xy坐标,及屏幕的颜色值?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.046962 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved