大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> Script -> VB打造超酷个性化菜单(四)

VB打造超酷个性化菜单(四)

时间: 2021-07-31 作者:daque

属性: 菜单总体作风

public property get style() as menuuserstyle

    style = menustyle

end property

 

public property let style(byval nmenustyle as menuuserstyle)

    menustyle = nmenustyle

    select case nmenustyle

        case style_windows                                              ' windows 默许作风

            set barimage = loadpicture()

            barwidth = 20

            barstyle = lbs_none

            barstartcolor = getsyscolor(color_menu)

            barendcolor = barstartcolor

            selectscope = iss_icon_text

            textenabledcolor = getsyscolor(color_menutext)

            textdisabledcolor = getsyscolor(color_graytext)

            textselectcolor = getsyscolor(color_highlighttext)

            iconstyle = iis_none

            edgestyle = ises_solid

            edgecolor = getsyscolor(color_highlight)

            fillstyle = isfs_solidcolor

            fillstartcolor = edgecolor

            fillendcolor = fillstartcolor

            bkcolor = getsyscolor(color_menu)

            sepcolor = textdisabledcolor

            sepstyle = mss_default

        case style_xp                                                   ' xp 作风

            set barimage = loadpicture()

            barwidth = 20

            barstyle = lbs_none

            barstartcolor = getsyscolor(color_menu)

            barendcolor = barstartcolor

            selectscope = iss_icon_text

            textenabledcolor = getsyscolor(color_menutext)

            textdisabledcolor = getsyscolor(color_graytext)

            textselectcolor = textenabledcolor

            iconstyle = iis_shadow

            edgestyle = ises_solid

            edgecolor = rgb(49, 106, 197)

            fillstyle = isfs_solidcolor

            fillstartcolor = rgb(180, 195, 210)

            fillendcolor = fillstartcolor

            bkcolor = getsyscolor(color_menu)

            sepcolor = rgb(192, 192, 192)

            sepstyle = mss_solid

        case style_shade                                                ' 突变作风

            set barimage = loadpicture()

            barwidth = 20

            barstyle = lbs_verticalcolor

            barstartcolor = vbblack

            barendcolor = vbwhite

            selectscope = iss_icon_text

            textenabledcolor = getsyscolor(color_menutext)

            textdisabledcolor = getsyscolor(color_graytext)

            textselectcolor = getsyscolor(color_highlighttext)

            iconstyle = iis_none

            edgestyle = ises_none

            edgecolor = getsyscolor(color_highlight)

            fillstyle = isfs_horizontalcolor

            fillstartcolor = vbblack

            fillendcolor = vbwhite

            bkcolor = getsyscolor(color_menu)

            sepcolor = textdisabledcolor

            sepstyle = mss_default

        case style_3d                                                   ' 3d 立体作风

            set barimage = loadpicture()

            barwidth = 20

            barstyle = lbs_none

            barstartcolor = getsyscolor(color_menu)

            barendcolor = barstartcolor

            selectscope = iss_text

            textenabledcolor = getsyscolor(color_menutext)

            textdisabledcolor = getsyscolor(color_graytext)

            textselectcolor = vbblue

            iconstyle = iis_raised

            edgestyle = ises_sunken

            edgecolor = getsyscolor(color_highlight)

            fillstyle = isfs_none

            fillstartcolor = edgecolor

            fillendcolor = fillstartcolor

            bkcolor = getsyscolor(color_menu)

            sepcolor = textdisabledcolor

            sepstyle = mss_default

        case style_colorful                                             ' 炫彩作风

            set barimage = frmmenu.picture

            barwidth = 20

            barstyle = lbs_image

            barstartcolor = getsyscolor(color_menu)

            barendcolor = barstartcolor

            selectscope = iss_icon_text

            textenabledcolor = vbblue

            textdisabledcolor = rgb(49, 106, 197)

            textselectcolor = vbred

            iconstyle = iis_none

            edgestyle = ises_dot

            edgecolor = vbblack

            fillstyle = isfs_verticalcolor

            fillstartcolor = vbyellow

            fillendcolor = vbgreen

            bkcolor = rgb(230, 230, 255)

            sepcolor = vbmagenta

            sepstyle = mss_dashdotdot

    end select

end property

 

    这个类模块中包括了百般属性和本领及对于菜单的少许列举典型,我想夸大的有以次几点:

    1、在createmenu本领顶用setwindowlong从新设置了frmmenu的窗口进口因变量的地方,menuwndproc是规范模块中的一个因变量,即是处置动静的谁人因变量。

    2、additem这个本领是增添菜单项的,运用一个叫作myiteminfo的动静数组保存菜单项的实质,在“画”菜单项的功夫要用到它。在additem本领的结果,将菜单项的ftype树立成了mft_ownerdraw,也即是主人画图,这一步最要害,由于将菜单项树立成了owner draw,windows将不会替咱们写入,不会替咱们绘图标,十足都由咱们本人来。

    3、在popupmenu本领中,挪用了api因变量中的trackpopupmenu,看到第6个参数了吗?将处置菜单动静的窗口树立成了frmmenu,而咱们又对frmmenu举行了子类处置,十足都在咱们的控制之中。

    4、牢记要在class_terminate中恢复frmmenu的窗口进口因变量的地方,并开释和菜单关系的资源。

 

    好了,类模块仍旧ok了,大师大概对这个菜单类有了更多的领会,也看到了它的属性和本领。如何样?还算比拟充分吧。即使感触不够充分的话,本人加就好了,呵呵。然而,最中心的局部还不在这边,而是在谁人处置动静的因变量,也即是menuwndproc,它将实行搀杂地“画”菜单的工作以及处置百般菜单事变。看看右边的震动条,仍旧够窄了,下一篇再计划吧。  :)

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.