说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

请求菜单帮助(只限VB)

编辑:说三道四文库 发布时间:2017-01-23 02:21
HTML文档下载 WORD文档下载 PDF文档下载
谁能告诉我怎样在一个没有建立菜单的窗体上通过代码建立(API可以吗?)
谁能告诉我怎样在一个没有建立菜单的窗体上通过代码建立(API可以吗?)
谁能告诉我怎样在一个没有建立菜单的窗体上通过代码建立(API可以吗?)
谁能告诉我怎样在一个没有建立菜单的窗体上通过代码建立(API可以吗?)
谁能告诉我怎样在一个没有建立菜单的窗体上通过代码建立(API可以吗?)
谁能告诉我怎样在一个没有建立菜单的窗体上通过代码建立(API可以吗?)
谁能告诉我怎样在一个没有建立菜单的窗体上通过代码建立(API可以吗?)
谁能告诉我怎样在一个没有建立菜单的窗体上通过代码建立(API可以吗?)
谁能告诉我怎样在一个没有建立菜单的窗体上通过代码建立(API可以吗?)
谁能告诉我怎样在一个没有建立菜单的窗体上通过代码建立(API可以吗?)
谁能告诉我怎样在一个没有建立菜单的窗体上通过代码建立(API可以吗?)
谁能告诉我怎样在一个没有建立菜单的窗体上通过代码建立(API可以吗?)
没试过,没有多少人“动态建立”菜单吧,一般只是设置VISIBLE和ENABLE而已,你的目的是什么?
'以下是一个弹出菜单类的源代码。
'=================================================
'以下放到一个类模块 .cls 文件中,类名为  cPopupMenu

Option Explicit
'
Private Type POINT
    x As Long
    y As Long
End Type
'
Private Const MF_ENABLED = &H0&
Private Const MF_SEPARATOR = &H800&
Private Const MF_STRING = &H0&
Private Const TPM_RIGHTBUTTON = &H2&
Private Const TPM_LEFTALIGN = &H0&
Private Const TPM_NONOTIFY = &H80&
Private Const TPM_RETURNCMD = &H100&
Private Declare Function CreatePopupMenu Lib "user32" () As Long
Private Declare Function AppendMenu Lib "user32" Alias "AppendMenuA" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal sCaption As String) As Long
Private Declare Function TrackPopupMenu Lib "user32" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal x As Long, ByVal y As Long, ByVal nReserved As Long, ByVal hwnd As Long, nIgnored As Long) As Long
Private Declare Function DestroyMenu Lib "user32" (ByVal hMenu As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINT) As Long
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function GetMenuString Lib "user32" Alias "GetMenuStringA" (ByVal hMenu As Long, ByVal wIDItem As Long, ByVal lpString As String, ByVal nMaxCount As Long, ByVal wFlag As Long) As Long
Private mSelMenuString As String
Public Property Get SelMenuString() As String
    SelMenuString = mSelMenuString
End Property
'
Public Function Popup(ParamArray param()) As Long
    Dim iMenu As Long
    Dim hMenu As Long
    Dim nMenus As Long
    Dim p As POINT

' get the current cursor pos in screen coordinates
    GetCursorPos p

' create an empty popup menu
    hMenu = CreatePopupMenu()

' determine # of strings in paramarray
    nMenus = 1 + UBound(param)

' put each string in the menu
    For iMenu = 1 To nMenus
' the AppendMenu function has been superseeded by the InsertMenuItem
' function, but it is a bit easier to use.
        If Trim$(CStr(param(iMenu - 1))) = "-" Then
' if the parameter is a single dash, a separator is drawn
            AppendMenu hMenu, MF_SEPARATOR, iMenu, ""
        Else
            AppendMenu hMenu, MF_STRING + MF_ENABLED, iMenu, CStr(param(iMenu - 1))
        End If
    Next iMenu

' show the menu at the current cursor location;
' the flags make the menu aligned to the right (!); enable the right button to select
' an item; prohibit the menu from sending messages and make it return the index of
' the selected item.
' the TrackPopupMenu function returns when the user selected a menu item or cancelled
' the window handle used here may be any window handle from your application
' the return value is the (1-based) index of the menu item or 0 in case of cancelling
    iMenu = TrackPopupMenu(hMenu, TPM_RIGHTBUTTON + TPM_LEFTALIGN + TPM_NONOTIFY + TPM_RETURNCMD, p.x, p.y, 0, GetForegroundWindow(), 0)
    Dim result As Long
    Dim buffer As String
    Const MF_BYPOSITION = &H400&

    buffer = Space(255)
    
    result = GetMenuString(hMenu, (iMenu - 1), buffer, _
                   Len(buffer), MF_BYPOSITION)
    'Debug.Print buffer
    mSelMenuString = Trim(buffer)
' release and destroy the menu (for sanity)
    DestroyMenu hMenu

' return the selected menu item's index
    Popup = iMenu

End Function

'结束


'============================================================
'以下放到一个窗体文件中
Option Explicit


'以下是实例,在Form上添加一个ListBox控件



Private Sub Form_Load()
    List1.AddItem "Right-Click here for a menu"
End Sub

Private Sub List1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
    Dim oMenu As cPopupMenu
    Dim lMenuChosen As Long
'
    If Button = vbRightButton Then
        Set oMenu = New cPopupMenu
'
' Pass in the desired menu, use '-' for a separator
'
        lMenuChosen = oMenu.Popup("Menu 1", "Menu 2", "Menu 3", _
                "-", "Menu 4")
'
        Debug.Print lMenuChosen
        Me.Caption = oMenu.SelMenuString
        
    End If

'
End Sub

指点传媒CEO专访:紧握二三线市场用户命脉 专访Waygo创始人:白切鸡怎么翻译? 探究共享软件海外营销新策略(西安站) 讲师秀8:车音网沈康麒和他的智能驾车服务 数据可视化独领风骚:看这6家初创公司如何玩转大数据? 最新研究显示:IE10防恶意软件能力比Chrome等浏览器都要强 Windows Blue正式定名Windows 8.1 对Windows 8及RT用户免费 Testin云测试破1000万次 自动化测试成趋势 接手Android后首次接受媒体采访 Sundar Pichai谈Android未来 C语言实现二分法查找 让开发者高效编程的10个新框架 Google Analytics中显示访客停留时间为“0”的秘密 大数据之惑 麻省理工三位物理学家自建数据库服务Cloudant 融资1200万美元 网页浏览器进入再造新时代 AMD揭露HSA运算架构新技术hUMA细节 美团悄然上线云主机服务:与亚马逊殊途同归,还是另有谋划? 微软发布deep-tech团队招募令,期望获得下一代开发者的支持 2013谷歌I/O开发者大会:发布多个软件产品和服务 C语言实现二分法求解方程 开发测试云与虚拟化解决方案 学苹果?微软淘汰Points支付系统改用Gift cards 甲骨文改变Java版本号命名方式 [CTO俱乐部第97期]中科院、腾讯、深圳明源研发团队管理经验分享 Android Studio来了,它能取代Eclipse吗? Google Play Game不够开放,被OpenKit炮轰 Google Play Game Service详解 不仅提供API更提供后端支持 IBM Power走向Linux,是必然的! 美国国家安全局解密特工培训手册:如何利用谷歌等大众搜索工具搜集保密数据 微软IE10如何保护上网安全(大图) 谷歌无畏苹果的理由:强力的算法和基础设施架构 在这个夜深人静的时候,我想对你说,那些事情,都过去了........... 如何找回失去的文件? 曾经是你眼里的深情.....教我如何放弃得起........... 为什么oracle网站上供下载的8i 8.1.6和8.1.7有什么区别,为什么大小相差这么多,一个500多兆,一个只有80多兆? 本人爱几最近出现这种问题,各位英雄如有办法,万望帮忙 在一个php中如何直接打开另一个php,详细一点 就这样被妳征服................ CSDN的一个哥们找到了女朋友,CSDN一下子少了两个单身的人,为什么? 一个关于生成报表的问题 以前陪我看月亮的时候叫我亲亲疯哥哥,现在新人胜旧人了,叫人家死疯子!你以为我这么辛苦来这里真的是为了灌水吗?还不都是为了你这个没有良心的! RDO和DAO的区别 地铁站里看书的女孩 今天高兴!推荐 今天高兴!推荐一个MM叫 a_li ,大家多捧场! 救救我吧?? 唉~ 我都21了 刚中专毕业 我可咋整啊~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 如何用VC做不规则形状窗体 是蜜月?要我一个月搞定软件下载,怎么办哪? 在VC中,分割窗口CSplitterWnd是否可以将卷滚条去掉 请问,如何动态向select(下拉列表框)中添加项目,另外,如何取得当前的选项 用INSERT ROW在表格中插入记录 关于CTreeCtrl的SortChildrenCB函数调用的问题 求教将文本格式化输出的代码 急需英文WIN2K+多国语言版, 各位专家们,可知道Acer的笔记本用的可是台式CPU? leeyansheng(风妖精) 在不在???刚看见你。怎么还没睡? 请教:我安装完flashget后,可是我要下载文件时,点击时默认的不是flashget,还是一般下载的那种,不知道该如何解决?急 请问为什么不能在dns中创建新区域 怎样控制键盘灯 OK,过足疯瘾了,开始 CODE 那位好心人介绍几本关于 java 的书? 急!!!各位高手,能否帮忙做个流程图,谢谢各位! 如何做一个真正的屏保? 中文Win2000与中文win98在使用CDC::Arc上有什么不同吗? 如何完全控制鼠标 35分任你拿 skyyoung 、 kookoo 、 BrentIvan 、 mshy 四位大虾,请留下email,小弟有要事好事通知! C#适用于开发大型的应用系统吗? 哪位有二手笔记本卖 孤独大哥还在吗?有人找! 请教一个高级问题!!! 怎样把帮助文件(.hlp)转换为和执行文件(.exe)。 关于ACCESS用SQL SUM的问题 怎样在csdn发布自己的软件 谢谢大家的回复.我已经知道可以建立个autorun.ini的文件.内容为(但是还有一个问题...) 菜鸟问题:如何删除一个里面有文件的目录? 我的大梦 API初学者的问题!!帮帮忙!!谢了!!! 那里有《ATL开发指南》第二版 电子工业出版社 下载(高分) 本人编制了一份“使用BCB5进行多国语言开发”的文档,希望对大家有用 ==================月薪8百,招聘VC通讯编程高手72名,要求待遇进来看.============== 展示程序,有原码,只邮前50个。 英语专八听力mini-lecture是直接听记笔记,还是对照需要填空的文章听? 一个长方形的周长是30厘米,长是12厘米,求宽,列方程 一座桥长2400米.一列火车以每分钟900米的速度行驶,从车头开上大桥到车尾离开大桥用了3分钟.车体多长? 专八听力第一部分的MINI-LECTURE题目是事先给还是听完之后发题目的? 乐家超市有奶粉 豆奶粉共132袋 豆奶粉的袋数是是奶粉的1.2倍 奶粉和豆奶粉各多少快 一列火车以每分钟1千米的速度通过一座长400米的桥,用了半分钟,则火车长多少米? 请问谁有专八听力部分的mini lecture 的mp3,我需要重点练习这个,有的人发到我邮箱吧, 果园里,桃树的棵数是梨树的4/5,梨树的棵树是苹果树的5/7.苹果树有126棵,桃树有多少颗? 一列火车以每分钟1千米的速度通过一座长400米的桥,用了半分钟,则火车本身的长度为多少米? 练习专八听力听什么材料比较好啊?第一部分的那个mini lecture 怎么练习呢?感觉好难啊! 果园里,桃树的颗数是梨树的五分之四,梨树的棵树是苹果树的七分之五.如果苹果有126棵,桃树有多少棵?如果桃树有72棵,苹果树有多少棵? 一列车以每分钟1千米的速度通过一座长400米的桥,用了半分钟,则火车的本身长度为多少米? 跪求历年专八听力真题音频~2001至20131130462754 你懂的 一个果园里有梨树126棵,桃树棵树是梨树的9分之8,苹果树棵数是桃树的4分之3.这个果园有苹果树多少 一列长200米的火车以每小时60千米的速度完全通过一座长400米的大桥需几分钟? 求历年专八听力mp3, 果园里桃树的棵数是梨树的5分之4,梨树的棵数是苹果树的7分之5,如果苹果树有126棵,桃树有多少棵?用方程解 一列火车以每分钟1千米的速度通过一座长400米的桥,用了半分钟,则火车本身的长度为 (用方程) 谁有冲击波专八听力的配套MP3 大连理工出版的 第2版如题所有配套的MP3 我的放家里没带来 果园里有梨树380棵,比苹果树的2倍少40棵,果园里有苹果树多少棵?(列方程解) 在某月的日历上,一个数列相邻的3个数字和为69,3个数字分别是多少?3楼的你神了啊,没错,我是嘉兴市一中实验学校的学生,问题还是上面那个。 求POP LOVE 2013里面的歌曲名字,附图 果园里苹果树棵数比梨树多五分之一,梨树比苹果树少14棵,苹果树有多少棵?注意~第一个条件的单位一是梨树,第二个条件的单位一是苹果树.注意~第一个条件的单位一是梨树,第二个条件的单位 在某张日历中,一个数列相邻的四个数的和是50,求出这四个数 一个长方形的周长为240米,长是宽的1.4倍,求长方形的面积?(列方程式) 一列长210的火车通过一座长1690米的大桥,从车头上桥到车尾离开用了2分钟,求这里火车的速度……要有原因…… 在某日历的一个数列上圈出四个数,这四个数的和是74,则这四个数分别是 一个长方形的周长是240米,长是宽的1.4倍,求长方形的面积(解方程) 一列火车以每分钟600米的速度通过一座长2200米的大桥如果火车全长200米,从车头到车尾离开桥,共需多少多少分钟 某个月日历的一个数列上的数只和为46,则这个数列上的第一个数是多少 一个长方形的周长是240米,长是宽的1.4倍,求长方形的面积.(用方程解决问题) 一列长290米的火车以每分钟900米的速度通过一座大桥.从车头到车尾完全离桥共用了3.5分钟,这座大桥长多少米? 如果用一个正方形在某个月的日历上全出3乘3个数的和为126,这九天分别是几号? 一个长方形的周长是240米,长是宽的1.5倍,这个长方形的面积是多少?一定要用方程解!要把方程列出来, 一列火车的车身长800米,以每秒8米的速度行驶,经过一座长为一千六百米的大桥,请问从车头上桥到车尾离桥共需多少时间 某张日历上,设3x3方阵的中心数是x,方阵中9个数只之和是126则可列方程怎么列解得x=多少,方阵中最小的数是多少,最大的数是多少? 绝对值x²+4x—5 =6-2x谁会结啊、.急 一个长方形的周长是36米,已知长是宽的3倍,这个长方形的面积是多少? 一列800米长的火车,通过一座大桥,速度是24米/秒.从车头上桥到尾离桥共用了100秒的时间.大桥的长度是多少米? 2x²-4x-6=0 一个长方形的周长是200米,长是宽的1.5倍,这个长方形的面积是多少平方米这道怎么做 问:一座桥长2100米,火车每分钟800米的速度通过,从车头上桥到车尾离共一座大桥长2100米,一列火车以每分钟800米的速度通过这座大桥,从车头上桥到车尾离开共用3.1分钟,这列火车长多少米 如何让提高英语专八听力我是明年3月份考专八.听力第一部分难度较大,如何才能有效提高呢? 一个长方形的周长是88厘米,长比宽的2倍多8厘米,求长方形的面积怎么列方程 一座大桥长3400米.一列火车通过大桥时每分钟行800米,从车头开上桥到车尾离开桥头共需4.这列火车长多少米? 怎样准备专八听力 一个长方形的周长是150厘米,长是宽的2倍,这个长方形的面积是多少?(方程解答)要正确的方程 一列800米长的火车,通过一座大桥,速度是24米/秒.从车头上桥到车尾离桥共用了100秒的时间.大桥的长度是多少米? 怎样专八听力练习? 长方形的周长是192厘米,长方形的长与宽的比是5:3,这个长方形的面积是多少厘米(不要列方程) 一座大桥长2400米.一列火车以每分钟900米的速度通过大桥,从车头上桥倒车尾离桥共用3分钟.这列火车长多少米 专八听力 形式第一部分的听力Mini lecture是题目发下来再听还是只给一张纸让你记笔记,然后听完了再发题做啊?还有后面的新闻和会话是看着题听还是没题目先听啊? 一个长方形的周长是240米,长是宽的2倍,求长方形的面积?用方程做 一座大桥长2400米.一列火车以每分900米的速度通过大桥,从车头上桥到车尾离桥共需3分钟.这列火车长多少米? 如何提高专八听力? 一个长方形的周长是40分米,它的长与宽的比是3:2,这个长方形的面积是多少 一列火车长420米,这列火车在通过一座大桥时车速为980米/分,从车头开上桥到车尾离开桥共用4分钟,这座大桥长多少米? 英语专八听力Mini Lecture我们上课做专八的听力练习,中间有一个test的Mini Lecture 叫做“Greece”求这篇Mini Lecture 的原文! 一个长方形,长比宽的3倍少一,长方形的周长为30厘米,求这个长方形的面积. 一列火车以每分钟八百米的速度通过了一座大桥,从车头开上桥到车尾离开桥共需要四分钟,已知火车长300米求
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn