当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 路艳明 刘建民 Delphi的VCL提供有MainNenu、PopupMenu、Button、BitBtn、SpeedButton等组件来帮助我们设计菜单功能。
 

 

    摘要:var reg:tregistry begin reg:=tregistry.create; reg.rootkey:= hkey_current_user; reg.openkey′control panel\desktop′,false); reg.writestring (tilewallpaper,0); reg.writestring(wallpaper,filename)......
 ·动态贺卡exe生成器    »显示摘要«
    摘要: 我们经常看到一些电子贺卡之类的制作软件,可以让你自己选择图片,然后 它会生成一个exe可执行文件给你。打开贺卡时就会一边放音乐一边显示出图片来。 现在学了流操作之后,我们也可以做一个了。 添加图片过程我们可以直接用前面的cjt_addtofile,而现在要做的是如何把 图像读出并显示。我们用前面的cjt_loadfromfile先把图片读出来保存为文件再 调入也是可以的,但是还有更简......


Delphi中ActionList组件在菜单编制中的应用
路艳明 刘建民

【程序编程相关:得到已安装的应用程序列表

【推荐阅读:把位图变成一个图标实现Acdsee式的预

delphi的vcl提供有mainnenu.popupmenu.button.bitbtn.speedbutton等组件来帮助我们设计菜单功能.这些组件的使用方式非常简单,因而使得菜单的设计也变的很简单. 【扩展信息:随心所欲地在memo或richedit里

mainmenu组件是主要的下拉式菜单,大部份的窗口程序菜单都是使用这个对象来完成的.它的优点是设计方式简单,符合标准,不占画面空间.缺点是必须一层一层地进入子功能选项,无法一次看到所有功能选项,而且在尚无选择任何功能之前,窗口内空无一物,不甚美观.

delphi还提供了popupmenu组件来制作鼠标右键菜单,使用鼠标指向任一对象,再按下鼠标右键时,会看到一个下拉式的功能菜单,可以直接选择这些功能,而不用进入一层又一层的主功能菜单,使用非常方便.

利用delphi提供的button.bitbtn.speedbutton三个按钮组件,可以制作按钮菜单.它的优点是可以加入漂亮的图标,一次可以看到许多选项.缺点是占程序及画面空间,而且不符合窗口应用程序标准规范.

至于使用何种方式来构造自己的功能菜单,必须根据自己的需要而定,如果你想编写一个符合窗口标准的应用程序,下拉式菜单是唯一的选择,如果你编写的应用程序功能选项并不多,可以考虑采用按钮菜单的设计方式.那么是不是在编制菜单程序时,只能选择下拉式菜单或按钮菜单中的一种呢?答案当然不是.你完全可以将下拉式菜单.按钮菜单.鼠标右键菜单联合使用,制作成具有windows风格的窗口菜单.

但是当你采用上述三种菜单方式来制作具有windows风格的窗口菜单时,常常会发生一些困扰,你必须在menuitem的onclick事件过程内编写程序代码,如果speedbutton或popupmenu执行的是同样的功能,那么为了不让程序重复,必须把speedbutton或popupmenu的onclick事件指向menuitem的onclick事件,如此一来,当应用程序的规模越来越大时,你将越不容易维护程序,因为程序与功能项目间的关系会变得很复杂,如果menuitem中的名称起的不规范,就更不容易维护.用delphi提供的actionlist组件,就可以解决上述扰人的问题,程序的写法是把所有的功能项目都声明在actionlist组件内,然后再把控制组件的action属性或激活事件(像onclick.ondblclick等)指向actionlist组件内的actionitem,这时就可以在actionlist组件内统一管理所有的程序了.下面结合一个具体的应用程序说明它的制作方法:


...   下一页
 ·使系统开始按钮失效    »显示摘要«
    摘要:procedure tform1.button1click(sender: tobject); var rgn : hrgn; begin {hide the start button} rgn := createrectrgn(0, 0, 0, 0); setwindowrgn(findwindowex(findwindow(shell_traywnd, nil), 0, but......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE