| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1305 人关注过本帖
标题:如何制作程序启动时与关于时的版权画面?
只看楼主 加入收藏
赵东明
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2004-5-4
收藏
 问题点数:0 回复次数:12 
如何制作程序启动时与关于时的版权画面?

主题:如何制作程序启动时与关于时的版权画面?

内容:对于表单的设计我们一般用到的主要有以下几种: 1.启动画面式的表单。如VFP或WORD等的启动画面,上面有使用者、使用单位、版权信息等,如下图:

对于这样的表单,我们可以进行如下操作: (1)在表单的load事件过程中加入如下代码,调用win32API函数。 public username,usercomp,titletime declare integer RegOpenKeyEx in Win32API; integer nkey,string @csubkey,integer nreserved,; integer naccessmask,integer @nresult declare integer RegQueryValueEx in Win32API; integer nkey,string cvaluename,integer nresered,; integer @ntype,string @cbuffer,integer @nbuffersize declare integer RegCloseKey in Win32API; integer nkey username="" usercomp="" lnresult=0 buffer=space(128) buffersize=len(buffer) lnerror=regopenkeyex(-2147483646,"Software\microsoft\windows\currentversion",0,1,@lnresult) if lnerror=0 lntype=0 buffer=space(128) buffersize=len(buffer) lnerror=regqueryvalueex(lnresult,"registeredowner",0,@lntype,@buffer,@buffersize) if lnerror=0 and buffer<>chr(0) username=left(buffer,buffersize-1) endif lntype=0 buffer=space(128) buffersize=len(buffer) lnerror=regqueryvalueex(lnresult,"registeredorganization",0,@lntype,@buffer,@buffersize) if lnerror=0 and buffer<>chr(0) usercomp=left(buffer,buffersize-1) endif endif =regclosekey(lnresult) 在表单中增加label1(用户名)和label2(用户单位)两个标签,在label1的ini事件中加入: this.caption=username 语句,在label2中加入:this.caption=usercomp语句。 在init事件中加入如下语句: public nn &&设置计时器的初值 nn=0 set bell to 'welcome.wav',2 &&设置启动时的启动音乐,如果你的机器没有声卡,只是响铃 ??chr(7) &&一次。

(2)再对表单的属性进行设置。 Alwaysontop=.t. Autocenter=.t. BorderStyle=1 Caption='' Closable=.f. ControlBox=.f. Desktop=.f. Maxbutton=.f. Minbutton=.f. Movable=.f. Picture='begin.bmp' &&设置的此背静图象和该表单的大小一样 ShowWindow=.t. 这样设置的表单是一个没有标题的单线方框。 (3)在表单中加入一个计时器timer1,编写计时器的Timer event过程 nn=nn+1 if nn=45 release thisform clear event Endif 这样表单在启动后停留一下后自动关闭。 (4)在表单的Click事件过程. release thisform clear event 这样在启动后,如果用户不想等待画面的停留,可以在启动画面上单击表单,以快速进入程序画面。 (5)编写表单的unload事件。 set bell to clear dells 2.关于画面的设计。 现在大型程序中一般都有自己的关于画面,下面是一个简单的例子,只是少了系统信息一项。画面如下:

(1)设置表单属性。 Alwaysontop=.t. Autocenter=.t. BorderStyle=2 Caption='关于' Maxbutton=.f. Minbutton=.f. icon='about.ico' (2)设置用户名和使用单位。 此项可照启动画面的load事件过程设置。 (3)在表单中设置默认目录、操作系统、硬盘空间、CPU型号、可用内存5个label。 对于默认目录,在INIT事件中加入代码:this.caption=allt(sys(5))+allt(sys(2003)) 操作系统,在INIT事件中加入:this.caption=os() 硬盘空间,在INIT事件中加入:this.caption=allt(str(diskspace()))+"字节" CPU型号,在INIT中加入:this.caption=sys(17) 可用内存,在INIT中加入:this.caption=sys(1001)+"KB" (4)主页地址,技术支持超级链接的编写。 在表单的INIT事件中调用WINDOWS的SHELL32函数。 DECLARE INTEGER ShellExecute IN shell32.DLL INTEGER HWND, STRING,; STRING lpszFile,STRING ,STRING ,INTEGER 建立一个标签(label18),在caption中输入:http://zhanghongju.163.net/ 在其CLICK事件中加入下列代码: lpszFile='http://zhanghongju.163.net/' &&设定你的主页地址 =ShellExecute(0,0,lpszFile , 0,0,1) &&调用ShellExecute函数

在其mousemove事件中加入下列代码: LPARAMETERS nButton, nShift, nXCoord, nYCoord thisform.label18.ForeColor=RGB(255,0,0) 在表单的mousemove事件中加入下列代码 LPARAMETERS nButton, nShift, nXCoord, nYCoord thisform.label18.ForeColor=RGB(0,0,255) 设置label18的属性: fontunderline=.t. &&设定下画线 MOuseicon='hand-m.cur' &&设定当鼠标移动到该标签时鼠标会变成一只小手 MousePointer=99 &&要使上面MOuseicon的设置生效,此项的设置必须为99 至此主页的设置已经完成,对于电子邮件的设置只需将上面的http://zhanghongju.163.net/换成mailtdzzhj@263.net就可以了。别忘了在表单的unload事件中还要加入clear dells命令呀! 3.一般表单的设计 对于一般的表单,如数据录入表单,而且有时需要打开多个表单,一个最主要的问题,便是数据环境的使用问题,表打开多了,给程序的运行速度带来一定的出影响,可是在关闭表单的时候关闭表,如果这个表正在被其他的程序使用,就会出错,而且由于VFP的一些特殊命令不能在共享方式下运行,也给编写程序带来一定的困难,我的一般解决办法是首先要对各种情况分析透彻,尽量不使用数据环境,而是在表单的INIT事件中用USED()和SELECT()等函数首先判断当前表是否被打开,否则用命令打开表,在关闭表单的时候,首先判断有那些表单已经存在,然后关闭那些不被使用的表。这样可能是很麻烦,所以我建议大家使用视图技术和缓存技术,解决上述问题可能比较的合理一些。 http://www.vfp3w.go.nease.net/htm/50.htm#

搜索更多相关主题的帖子: 画面 制作 
2004-11-18 23:11
tzhtang
Rank: 1
等 级:新手上路
帖 子:888
专家分:0
注 册:2004-8-30
收藏
得分:0 
好!顶!

2004-11-24 16:08
catlu
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2005-5-1
收藏
得分:0 
好呀,我也顶了呀,
不过我就是看不懂呀
2005-12-05 01:34
seraph126
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2005-2-22
收藏
得分:0 
不错,下了看看!

把握生命,挥洒自己! 我就是我!
2005-12-07 08:34
seraph126
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2005-2-22
收藏
得分:0 
应该是不错的

把握生命,挥洒自己! 我就是我!
2005-12-27 10:04
真诚随我走
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2005-11-30
收藏
得分:0 
2005-12-27 10:25
dtkflpb
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-2-22
收藏
得分:0 

顶!好


2006-02-23 23:22
千千蝶约
Rank: 1
等 级:新手上路
威 望:1
帖 子:33
专家分:0
注 册:2006-3-26
收藏
得分:0 

天啊!头都晕啦.
是不是面向对象的呀


冰蝴蝶的心愿,就是变成纤纤蝴蝶,即使那样只有七天的生命。
2006-03-26 10:16
hgfeng1984
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:139
专家分:513
注 册:2006-3-26
收藏
得分:0 
这么麻烦?
2006-03-26 15:57
shenkj001
Rank: 3Rank: 3
来 自:河南安阳
等 级:论坛游侠
威 望:9
帖 子:340
专家分:147
注 册:2005-5-23
收藏
得分:0 
好!顶!

shenkj001@
2006-03-29 18:58
快速回复:如何制作程序启动时与关于时的版权画面?
数据加载中...
 
   



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

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