VFP新技术推广

Ilikefox 2010-09-21 01:00:35
列位,此帖纯粹是玩笑帖,发个所谓命令按钮的复用技术,切不可用于实际,呵呵。
复制以下代码,保存为prg文件,运行之。(以此向版主及foxer们问好)

Public frm
frm=Createobject("myform")
frm.Show

Define Class myform As Form
AutoCenter = .T.
Height = 121
Width = 276
DoCreate = .T.
Caption = "玩笑按钮(按钮的复用技术)"
Name = "Form1"
Add Object command1 As CommandButton With ;
Top = 36, ;
Left = 48, ;
Height = 48, ;
Width = 180, ;
Caption = "新建 修改 删除 确定 取消", ;
Name = "Command1"
Add Object shape1 As Shape With ;
Top = 36, ;
Left = 0, ;
Height = 48, ;
Width = 36, ;
BackStyle = 1, ;
BorderStyle = 1, ;
DrawMode = 11, ;
FillStyle = 1, ;
Name = "Shape1"
Procedure Paint
Thisform.shape1.Refresh
Endproc
Procedure command1.MouseDown
Lparameters nButton, nShift, nXCoord, nYCoord
For i=1 To 5
If nXCoord < (7+(i-1)*3)*12
Thisform.shape1.Left= (1+3*i)*12
This.Tag = Substr(This.Caption, 7*i-6,4)
Exit
Endif
Endfor
Endproc
Procedure command1.MouseUp
Lparameters nButton, nShift, nXCoord, nYCoord
Thisform.shape1.Left=0
Thisform.Caption = [你选择了"]+This.Tag+["!]
Endproc
Enddefine
...全文
436 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
a841887821 2010-12-21
  • 打赏
  • 举报
回复
谢谢分享
jiayutao123456 2010-12-14
  • 打赏
  • 举报
回复
大家谁能给我发个软件啊?
qs1163 2010-12-08
  • 打赏
  • 举报
回复
奇特思维创造精品
winter119 2010-12-08
  • 打赏
  • 举报
回复
学习学习,知道怎么回事,还是要多做做学
sianfox 2010-12-07
  • 打赏
  • 举报
回复
有意思
adamwr 2010-10-07
  • 打赏
  • 举报
回复
不错!
Ranger_Ghost 2010-10-07
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 ilikefox 的回复:]

呵呵,谢谢大家捧场。
我用英文版的,字体默认Arial,不是宋体,故而不会像十豆三版主给出的效果图。

曾经学习DrawMode属性,别的还都好说,就是11-NOP不知干什么的,解释是输出不变化,胡乱试着玩,发现按钮上覆盖个shape遮住一半,paint刷shape,结果没遮住的按钮部分按不下,倒是遮住的部分呈现按下的效果。于是索性再写点代码,呈现按哪里,哪里凹下的效果,就像按钮被切割了一……
[/Quote]


请问“引发连续的Paint”是什么意思?
十豆三 2010-09-26
  • 打赏
  • 举报
回复
XP 下的效果图:
十豆三 2010-09-26
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 vchalf_moon 的回复:]
好像,我放在2003下面,运行有差
[/Quote]

XP下也会有些误差。
xilaianzxsc 2010-09-26
  • 打赏
  • 举报
回复
我运行了一下 没有出现8楼出现的问题

运行很正常的
Ilikefox 2010-09-26
  • 打赏
  • 举报
回复
另外,如果把这个shape扔到container里,再把container设置为凹下,背景透明,那效果更好。
Ilikefox 2010-09-26
  • 打赏
  • 举报
回复
呵呵,谢谢大家捧场。
我用英文版的,字体默认Arial,不是宋体,故而不会像十豆三版主给出的效果图。

曾经学习DrawMode属性,别的还都好说,就是11-NOP不知干什么的,解释是输出不变化,胡乱试着玩,发现按钮上覆盖个shape遮住一半,paint刷shape,结果没遮住的按钮部分按不下,倒是遮住的部分呈现按下的效果。于是索性再写点代码,呈现按哪里,哪里凹下的效果,就像按钮被切割了一样。呵呵,纯粹胡闹,还盗用个“复用技术”的名义。要知道这东西会引发连续的paint,故而说,切不可用于实际。
vchalf_moon 2010-09-25
  • 打赏
  • 举报
回复
好像,我放在2003下面,运行有差
lc_apple 2010-09-23
  • 打赏
  • 举报
回复
路过了……
cherryha 2010-09-23
  • 打赏
  • 举报
回复
呵呵,跟vc里的开切button ico思路一样
yimove 2010-09-22
  • 打赏
  • 举报
回复
哇 好东西
wwwwb 2010-09-21
  • 打赏
  • 举报
回复
呵呵, 学习
十豆三 2010-09-21
  • 打赏
  • 举报
回复
想法不错。
ACMAIN_CHM 2010-09-21
  • 打赏
  • 举报
回复
Ilikefox 2010-09-21
  • 打赏
  • 举报
回复
Caption = "新建 修改 删除 确定 取消", ;

此行字符串之间为3个空格,不知怎么搞得,贴出来变成1个了。注意自行改改。

2,727

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧