.NET中的自绘机制
2006-07-18 11:26:21 来源:WEB开发网GraphicMenu 和 Menu 类一样继承自 Component:Public Class GraphicMenu : Inherits Component
这意味着在设计时它会悬停在设计器的组件托盘上(如 Figure 2)。GraphicMenu类相当于现有菜单对象的转换器——两者都是应用程序主菜单和上下文菜单。你 添加一个GraphicMenu类实例到窗体的控件集中,窗体便用这个类将普通菜单转换成自绘菜单。
Figure 2 Visual Basic .NET的设计器
Figure 3中的代码显示了 GraphicMenu 类的入口方法 Init()。这个方法将一个灰色的3D的只是文本式样的标准菜单变成了多彩菜单。这个方法以一个Menu对象作为传入参数,将该Menu对象的所有菜单项设置为自绘方式。如果这个菜单是一个上下文菜单——也就是说该对象类型是ContextMenu的话——那么 它会直接进行自绘循环操作。
那么,为什么你要给菜单增加更多图象元素呢?除了改善应用程序的外观,其中的一个主要原因是为了给菜单项旁边添加说明性图标。这意味着为了存储 拟在菜单项旁边绘制的图标,我们要向每一个 MenuItem 添加一些额外的信息。在理想的情况下,需要用一个新的派生类来代替MenuItem 类 ,假设这个派生类是 GraphicMenuItem。这个 GraphicMenuItem 类更象父类,只是多了个Icon属性。当你总要通过编程来生成或操纵菜单,这不失为一个好方法。 许多基于 Visual Studio .NET 应用程序的菜单通常是利用菜单设计器来生成(如 Figute 4),它会自动创建并注册 MenuItem 对象。
Figure 4 Visual Studio .NET的菜单设计器
- ››Netpas加速 让非电信宽带用户流畅上网
- ››net中fckediter的图片上传时候点击\浏览服务器\出...
- ››Netmsg局域网聊天程序
- ››NetAirus指控苹果iPhone侵犯其专利
- ››Netflix 在线影视播放程序将登陆 iPhone
- ››Net中各种不同的对象创建方式的速度差异
- ››NetNewsWire 功能简单 界面快速 Reader 浏览器
- ››NET-使用Js调用WebService
- ››Net 应用程序如何在32位操作系统下申请超过2G的内...
- ››NET 4.0新特性-- Corrupted State Exceptions
- ››NET应用程序的本地化及RESGEN.exe, AL.exe介绍
- ››NetMeeting在办公网络中的应用
更多精彩
赞助商链接