• 当前位置: 首页 > 等阶教程源码 > 进阶教程源码易语言创建弹出菜单源码
  • 易语言创建弹出菜单源码

    • 软件授权:
      开源软件
    • 软件大小:
      6.43 KB
    • 文件类型:
      .zip,.e
    • 下载次数:
    • 上传用户:
      心脏
    • 发布时间:
      2018-10-07 18:47
    • 软件等阶:
    • 运行环境:
      Winall,Win2003,WinXP,Win7,Win8
    • 软件评级:

    软件介绍             



     

    易语言创建弹出菜单源码


    系统结构:拦截消息,自创菜单,API弹出菜单,插入菜单项,取项目标题,取菜单项目数,删除菜单项目,创建空白弹出式菜单_,AppendMenu,添加菜单项,插入菜单条目_,创建菜单,GetMenuItemCount,SetMenu,DrawMenuBar,SetForegroundWindow,TrackPopupMenu,取子菜单句柄,GetMenuString,RemoveMenu,DestroyMenu,SetWindowLong,CallWindowProc,


    ======窗口程序集1
               |  |
               |  |------ __启动窗口_创建完毕
               |  |
               |  |------ 拦截消息
               |  |
               |  |------ 自创菜单
               |  |
               |  |------ API弹出菜单
               |  |
               |  |------ _按钮1_被单击
               |  |
               |  |------ 插入菜单项
               |  |
               |  |------ 取项目标题
               |  |
               |  |------ 取菜单项目数
               |  |
               |  |------ 删除菜单项目
               |  |
               |  |------ __启动窗口_将被销毁
               |  |
               |  |
    ======调用的Dll
               |  |
               |  |---[dll]------   创建空白弹出式菜单_
               |  |
               |  |---[dll]------   AppendMenu
               |  |
               |  |---[dll]------   添加菜单项
               |  |
               |  |---[dll]------   插入菜单条目_
               |  |
               |  |---[dll]------   创建菜单
               |  |
               |  |---[dll]------   GetMenuItemCount
               |  |
               |  |---[dll]------   SetMenu
               |  |
               |  |---[dll]------   DrawMenuBar
               |  |
               |  |---[dll]------   SetForegroundWindow
               |  |
               |  |---[dll]------   TrackPopupMenu
               |  |
               |  |---[dll]------   取子菜单句柄
               |  |
               |  |---[dll]------   GetMenuString
               |  |
               |  |---[dll]------   RemoveMenu
               |  |
               |  |---[dll]------   DestroyMenu
               |  |
               |  |---[dll]------   SetWindowLong
               |  |
               |  |---[dll]------   CallWindowProc

      


    易语言创建弹出菜单源码


    调用的DLL命令:


    .DLL命令 创建空白弹出式菜单_, 整数型, "user32.dll", "CreatePopupMenu"


    .DLL命令 AppendMenu, 整数型, "user32.dll", "AppendMenuA", , 非零表示成功,零表示失败
        .参数 菜单句柄, 整数型, , hMenu,菜单句柄
        .参数 菜单常数标志, 整数型, , wFlags,参见相关帮助
        .参数 新菜单条目ID, 整数型, , wIDNewItem,指定菜单条目的新命令ID
        .参数 标志值, 文本型, , lpNewItem,参见相关帮助


    .DLL命令 添加菜单项, 逻辑型, , "InsertMenuA"
        .参数 菜单句柄, 整数型
        .参数 位置, 整数型
        .参数 标志, 整数型
        .参数 ID, 整数型
        .参数 标题, 文本型


    .DLL命令 插入菜单条目_, 整数型, "user32.dll", "InsertMenuA"
        .参数 菜单句柄, 整数型, , hMenu,菜单的句柄
        .参数 插入点标志符, 整数型, , nPosition,参见相关帮助
        .参数 常数标志, 整数型, , wFlags,常数标志的组合,参考ModifyMenu
        .参数 新条目ID, 整数型, , wIDNewItem,指定菜单条目的新菜单ID
        .参数 条目内容, 文本型, , lpNewItem,由wFlags参数决定


    .DLL命令 创建菜单, 整数型, "user32", "CreateMenu", , 创建新菜单  如成功则返回新的顶级菜单的句柄;零意味着错误


    .DLL命令 GetMenuItemCount, 整数型, "user32", "GetMenuItemCount", , 返回菜单中条目(菜单项)的数量  菜单中的条目数量;-1意味着出错。会设置GetLastError
        .参数 hMenu, 整数型, , 目标菜单的句柄;


    .DLL命令 SetMenu, 整数型, "user32", "SetMenu", , 设置窗口菜单  非零表示成功,零表示失败。会设置GetLastError
        .参数 hwnd, 整数型, , 窗口的句柄
        .参数 hMenu, 整数型, , 窗口的新菜单的句柄;


    .DLL命令 DrawMenuBar, 整数型, "user32", "DrawMenuBar", , 为指定的窗口重画菜单。用api函数改变一个窗口菜单的内容时,就要用到这个函数  非零表示成功,零表示失败。会设置GetLastError
        .参数 hwnd, 整数型, , 要重画菜单栏的窗口的句柄;


    .DLL命令 SetForegroundWindow, 整数型, "user32", "SetForegroundWindow", , 将窗口设为系统的前台窗口。这个函数可用于改变用户目前正在操作的应用程序  非零表示成功,零表示失败。会设置GetLastError
        .参数 hwnd, 整数型, , 带到前台的窗口;


    .DLL命令 TrackPopupMenu, 整数型, "user32", "TrackPopupMenu", , 在屏幕的任意地方显示一个弹出式菜单  非零表示成功,零表示失败。会设置GetLastError
        .参数 hMenu, 整数型, , 弹出式菜单的句柄
        .参数 wFlags, 整数型, , 位置标志和鼠标追踪标志的组合,见下表;位置标志:说明;TPM_CENTERALIGN:菜单在指定位置水平居中;TPM_LEFTALIGN:菜单的左侧置于水平x坐标处;TPM_RIGHTALIGN:菜单的右侧置于水平x坐标处;TPM_LEFTBUTTON:鼠标左键标准运作方式;TPM_RIGHTBUTTON:用鼠标右键进行菜单追踪
        .参数 x, 整数型, , 这个点指定了弹出式菜单在屏幕坐标系统中的位置
        .参数 y, 整数型, , 同上
        .参数 nReserved, 整数型, , 未使用,设为零
        .参数 hwnd, 整数型, , 用于接收弹出式菜单命令的窗口的句柄。应该使用窗体的窗口句柄——窗体中有一个菜单能象弹出式菜单那样接收相同的命令ID集
        .参数 lprc, 整数型, , Rect,用屏幕坐标定义的一个矩形,如用户在这个矩形的范围内单击,则弹出式菜单不会关闭。如单击弹出式菜单之外的任何一个地方,则会关闭菜单。可以设为NULL;


    .DLL命令 取子菜单句柄, 整数型, , "GetSubMenu"
        .参数 菜单句柄, 整数型
        .参数 位置, 整数型


    .DLL命令 GetMenuString, 整数型, "user32", "GetMenuStringA", , 取得指定菜单条目的字串  在lpString中返回的字串的长度(不包括空中止字符)。零意味着出错
        .参数 hMenu, 整数型, , 菜单句柄
        .参数 wIDItem, 整数型, , 欲接收的菜单条目的标识符。如果在wFlags参数中设置了MF_BYCOMMAND标志,这个参数就用于指定要改变的菜单条目的命令ID。如果设置的是MF_BYPOSITION标志,这个参数就用于指定条目在菜单中的位置(第一个条目的位置为0)
        .参数 lpString, 文本型, , 指定一个预先定义好的字串缓冲区,以便为菜单条目装载字串
        .参数 nMaxCount, 整数型, , 载入lp缓冲区中的最大字符数量+1
        .参数 wFlag, 整数型, , 常数MF_BYCOMMAND或MF_BYPOSITION,取决于wID参数的设置;


    .DLL命令 RemoveMenu, 整数型, "user32", "RemoveMenu", , 删除指定的菜单条目。如删除的条目属于一个弹出式菜单,那么这个函数不会同时删除弹出式菜单。首先应该用GetSubMenu函数取得弹出式菜单的句柄,再在以后将其删除  非零表示成功,零表示失败。会设置GetLastError
        .参数 hMenu, 整数型, , 菜单的句柄
        .参数 nPosition, 整数型, , 欲改变的菜单条目的标识符。如在wFlags参数中指定了MF_BYCOMMAND,这个参数就代表欲改变的菜单条目的命令ID。如设置的是MF_BYPOSITION,这个参数就代表菜单条目在菜单中的位置(第一个条目的位置为零)
        .参数 wFlags, 整数型, , 常数MF_BYCOMMAND或MF_BYPOSITION,取决于nPosition参数;


    .DLL命令 DestroyMenu, 整数型, "user32", "DestroyMenu", , 删除指定的菜单。如菜单属于另一个菜单的一部分,或直接分配给一个窗口,那么菜单会在窗口清除后被自动删除  非零表示成功,零表示失败。会设置GetLastError
        .参数 hMenu, 整数型, , 欲删除菜单的句柄;


    .DLL命令 SetWindowLong, 子程序指针, , "SetWindowLongA"
        .参数 窗口句柄, 整数型
        .参数 要置的特征, 整数型
        .参数 新特征, 子程序指针, , 仅易语言3.0支持


    .DLL命令 CallWindowProc, 整数型, , "CallWindowProcA"
        .参数 程序指针, 子程序指针
        .参数 窗口句柄, 整数型
        .参数 消息, 整数型
        .参数 参数1, 整数型
        .参数 参数2, 整数型

    相关软件

    下载说明

    本站目前主要提供易语言源码、模块、支持库等下载大部分源码均为ZIP打包,
    注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
    部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
    由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。

    使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。

     

    推荐排行

    • 易语言VB2易V0009源码

      易语言VB2易V0009源码,转换VB函数,删除函数编辑框空行,删除编辑框空行,转换VB函数_2,转换VB常数,转换VB自定义数据类型,转换VB子程序,转换VB全局变量,转换VB局部变量,子程序1,转换VB函数2...

    • 易语言-正文提取源码

      易语言-正文提取源码,正文提取,特殊字符过滤,取汉字个数_正则法,标准清除HTML标签,纯净清除HTML标签...

    • 易语言SendInput源码

      易语言SendInput源码,SendInput,模拟键盘_,模拟鼠标移动_,模拟鼠标单击_,SendUnicode,SendAnsi,SendKeyS,取变量地址_字节集型_,指针到短整数_,字节集到短整数_,AnsiToUnicode,模拟键盘动作_,模拟鼠标动作_,VkKeyScanW,GetKeyState,RtlInitAnsiString,RtlFreeU...

    • 易语言SDK窗口源码

      易语言SDK窗口源码,SDK窗口,WndProc,子程序_菜单初始化,HIWORD,LOWORD,子程序_处理命令消息,GetModuleHandle,LoadIcon,LoadCursor,GetStockObject,RegisterClass,MessageBox,CreateWindowEx,ShowWindow,UpdateWindow,GetMessage,TranslateMessage,DispatchMes...

    • 易语言API创建暂停进程进

      易语言API创建暂停进程进行DLL注入源码,API创建暂停进程进行DLL注入,GetCmdLine,命令行缓冲区_,取文本内容长度_,CopyMemory,SN_CreateProcessA,SN_InjectDllA...

    • 易语言api创建多层目录源

      易语言api创建多层目录源码,api创建多层目录,api_创建多层目录...

    • 易语言高斯算法源码

      易语言高斯算法源码,高斯算法...

    • 易语言高斯赛德尔迭代法

      易语言高斯赛德尔迭代法演示源码,高斯赛德尔迭代法演示,DBLX...

    • 易语言雪花屏保源码

      易语言雪花屏保源码,雪花屏保,Rnd,InitP,GetContrast,GetDC,GetPixel,SetPixel,ReleaseDC,InvalidateRect...