众所周知,ms office 2003推出已经有一段时间了,但我们依然不会忘记office xp刚刚推出时其令人耳目一新的菜单给我们留下的深刻印象。突起的悬浮式图标,不同寻常的菜单项填充方式,不仅让办公一族们赞不绝口,更让广大的程序员和编程爱好者对这种风格的菜单的制作产生了浓厚的兴趣。所以,在这篇文章里,我们就来好好地研究研究用vb怎么制作这种风格的菜单,在文章的最后,我将给出源代码的下载地址。事实上,在了解其原理以后,不论是用vb、vc还是delphi,都能够制作出xp风格的菜单。不仅如此,我们还可以制作出更加充满个性的另类风格的菜单,比如3d立体风格、渐变风格、多彩风格等等。只有想不到的,没有做不到的。follow me! 现在,我想有必要说一说我们现在要做的事情。事实上,我们只要做一个菜单类就行了。但谁都会明白,只做一个菜单类是不够的,我们需要一个程序,或者更详细的说,是一个窗体...
上一篇:vb打造超酷个性化菜单(1) 其实,漂亮的界面都是“画”出来的,菜单当然也不例外。既然是“画”出来的,就需要有窗体来接收“画”菜单这个消息,后面我们会看到,实际上不仅仅是“画”这个消息,一切关于这个菜单的消息都要有一个窗体来接收。 如果你对消息不太了解,可以看看网上其它一些关于windows消息机制的文章。不了解也没有关系,只要会使用就可以了,后面的文章给出了完整的源代码,而且文章的最后还给出了源代码的下载地址。 下面我们来创建接收消息的窗体:打开上次建好的工程,添加一个窗体,并将其名称设置为frmmenu(注意:这一步是必须的)。还记得上篇文章的最后一幅图吗?菜单左边那个黑底色的附加条,为了方便,将frmmenu的picture属性设置成那幅图。到此,这个窗体就算ok了!对了,就这样,因为这个窗体仅仅是为了处理消息和存储那个黑底色的风格条,我们将会对它进行子类处理,处理消息的代码...
源代码下载:点击这里下载(28k, winzip压缩文件) 现在到了最关键,最精彩,也是最复杂的部分了。我们最关心的就是怎样“画”菜单,怎样处理菜单事件,在menuwndproc这个处理消息的函数里,我们要处理如下消息:wm_command(单击菜单项),wm_measureitem(处理菜单高度和宽度),wm_menuselect(选择菜单项),wm_drawitem(绘制菜单项)。 打开上次建好的工程,添加一个标准模块,并将其名称设置为mmenu,代码如下:'*****************************************************'*本模块配合cmenu菜单类模块'*'*版权:lpp软件工作室'*作者:卢培培(goodname008)'*(*******复制请保留以上信息*******)'*****************...
我们先简单的了解一下什么是消息队列(msmq)?消息队列是 windows 2000(nt也有msmq,win95/98/me/xp不含消息队列服务但是支持客户端的运行)操作系统中通讯的基础,也是用于创建分布式、松散连接通讯应用程序的工具。 这些应用程序可以通过不同种类的网络进行通讯,也可以与脱机的计算机通讯。 消息队列分为用户创建队列和系统队列,用户队列分为: 1."公共队列"在整个可传递消息的"消息队列"网络中复制并传输,并且有可能由网络连接的所有站点访问。 2."专用队列"不在整个网络中发布。相反,它们仅在所驻留的本地计算机上可用。专用队列只能由知道队列的完整路径名或标签的应用程序访问。 3."管理队列"包含确认在给定"消息队列"网络中发送的消息回执的消息。指定希望 messagequeue 组件使用的管理队列。 4."响应队列"包含目标应用程序接收到消息时返回给发送应用程序的...
现在非常流行“绿色”软件,不需要什么安装程序只要一个 exe 文件就可以运行程序了,而在 vb 的编程中有许多地方需要调用第三方的控件(很难用 api 函数搞定所有的功能),这就需要制做一个安装程序,把所需要的控件、dll 文件或其他文件打包进去了, 那么在 vb 中怎么用变通的方法实现“绿色”软件呢,请看示例:1、主程序.exe 用 vb6.0 编写的程序,调用了 winsock 控件,如果在没有安装vb5.0、6.0 的机器上运行则会出现错误,导致程序运行失败,这时如果按一般的方法,只有把这个程序用vb5.0、6.0 的安装程序进行打包,不然只有用用2的方法来解决了。2、注册程序.exe 用 vb6.0 编写的程序,使用资源文件的方法,把 winsock 控件封装到本程序中,在运行主程序.exe之前,先运行本程序,通过api函数getsystemdirectory取得系统的windd...
在程序设计过程中,如何轻松地处理众多的随机事件,往往是制作大型系统首先要考虑的问题之一。用c语言开发windows程序时,可以方便地使用消息机制(message),但是,设计vb程序时,就没有这样的方便条件了。 例如,多个窗口同时打开同一个表(table),当在一个窗口中对数据进行了修改,而其他的窗口也能够随之进行数据更新,这时就需要有一条说明数据改变了的消息在所有的窗口间进行广播。如果使用的语言是c,只需要定义一条用户消息(usermessage),就可以实现这一点。 可是如果是用vb编程,做起来就不是那么简单了,最初我是试着这样实现的: 自定义了一个消息结构(vbmsg),并在程序的主窗体内,建立一个消息广播引擎,主要由一个消息队列和一个定时消息广播器所组成。消息广播器固定隔一定时间检查一次消息队列,如果有消息存在,就将其发送给所有的打开的窗口,并将该消息从队列中删除。如此再定义...
如何检查软盘驱动器里是否有软盘 使用:dim flag as booleanflag = fun_floppydrive("a:")if flag = false then msgbox "a:驱没有准备好,请将磁盘插入驱动器!", vbcritical'-'函数:检查软驱中是否有盘的存在'-private function fun_floppydrive(sdrive as string) as booleanon error resume nextfun_floppydrive = dir(sdrive) ""end function 如何弹出和关闭光驱托盘option explicitprivate declare function mcisendstring lib "winmm.dll" alias "mcisendstringa" (byval lpstrcom...
如何让程序在 windows 启动时自动执行 有以下二个方法: 方法1: 直接将快捷方式放到启动群组中。 方法2: 在注册档 hkey_local_machine 中找到以下机码:softwaremicrosoftwindowscurrentversionrun 新增一个字串值,包括二个部份: 1. 名称部份:自己取名,可设定为 ap 名称。 2. 资料部份:则是包含 '全路径档案名称' 及 '执行参数' 例如: value name = notepad value data = c:windowsnotepad.exe 在 textbox 中如何限制只能输入数字 参考下列程序: sub text1_keypress(keyascii as integer) if keyascii 57 then keyascii = 0 end if end sub te...
一、如何用 vb 启动其他程序或开启各类文件 要在 vb 中启动其他程序或开启各类文件,最简单的方法就是使用 shell 函数,例如:要开启 c:test.txt 这个文字文件,则要启动记事本来开启这个文件案,程序如下: dim retval as longretval = shell("c:windowsnotepad.exe c:test.txt", 3) '3代表视窗会最大化,并具有驻点,细节请查 help 以上的语法虽然很简单,但有一个风险,若是我们不知道开启文件的执行文件位置,则程序便会有错误产生,尤其一般软件在安装的时候都可以让使用者自行选择安装目录,所以执行文件的路径不能写死在程序中,要解决这个问题,就是在注册文件中找到该副文件名之启动程序位置,再放入 shell 中。 但是以上的作法必须熟悉注册文件,而且必须使用 windows api 来 call (注册文...
一、数据备份 备份有两中形式完全备份和差异备份 完全备份:是对数据库进行完整备份,周期比较长,如1周等 差异备份:是对更新备份的数据进行备份,周期比较短,如1小时 命令介绍: backup database [数据库名] to disk=[保存路径和名称] with [其他属性] 代码注释:serverip :sqlserver所在机器的 ip jtsg:sqlserver中数据的名称public cn as adodb.connectionset cn = new adodb.connectionstrcon = "provider=sqloledb.1;password=sa;persist security info=true;user id=sa;initial catalog=jtsg;data source=" + serverip + ";" + _ "use pro...
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器