• 当前位置: 首页 > 等阶教程源码 > 进阶教程源码易语言无边框窗口加菜单源码
  • 易语言无边框窗口加菜单源码

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

    软件介绍             



     

    易语言无边框窗口加菜单源码


    系统结构:设置菜单栏背景,设置菜单栏自绘,菜单窗口_OnMessage,菜单窗口_OnMeasureItem,菜单窗口_OnDrawItem,菜单窗口_DrawMenuItem,GetMenuName,GetMenuNameWidth,GetMenu,SetMenuInfo,DrawMenuBar,CreateSolidBrush,GetMenuInfo,CallWindowProc,CopyMemory_DRAWITEMSTRUCT,DefWindowProc,SendMessage,SetWindowLong,GetMenuItemCount,ModifyMenu,LocalSize_DRAWITEMSTRUCT,GetMenuString,SetMenuItemInfo,GetMenuItemInfo,CopyMemory_MEASUREITEMSTRUCT1,CopyMemory_MEASUREITEMSTRUCT2,LocalSize_MEASUREITEMSTRUCT,DrawText,GetStockObject,SetBkColor,SetBkMode,SelectObject,SetTextColor,CreateCompatibleDC,DeleteDC,


    ======窗口程序集1
               |  |
               |  |------ __启动窗口_创建完毕
               |  |
               |  |------ _关闭图形按钮_被单击
               |  |
               |  |------ _最小化图形按钮_被单击
               |  |
               |  |
    ======菜单窗口程序集
               |  |
               |  |------ _菜单窗口_创建完毕
               |  |
               |  |------ 设置菜单栏背景
               |  |
               |  |------ 设置菜单栏自绘
               |  |
               |  |------ 菜单窗口_OnMessage
               |  |
               |  |------ 菜单窗口_OnMeasureItem
               |  |
               |  |------ 菜单窗口_OnDrawItem
               |  |
               |  |------ 菜单窗口_DrawMenuItem
               |  |
               |  |------ _退出_被选择
               |  |
               |  |------ _邓学彬的微博_被选择
               |  |
               |  |
    ======程序集1
               |  |
               |  |------ GetMenuName
               |  |
               |  |------ GetMenuNameWidth
               |  |
               |  |
    ======调用的Dll
               |  |
               |  |---[dll]------   GetMenu
               |  |
               |  |---[dll]------   SetMenuInfo
               |  |
               |  |---[dll]------   DrawMenuBar
               |  |
               |  |---[dll]------   CreateSolidBrush
               |  |
               |  |---[dll]------   GetMenuInfo
               |  |
               |  |---[dll]------   CallWindowProc
               |  |
               |  |---[dll]------   CopyMemory_DRAWITEMSTRUCT
               |  |
               |  |---[dll]------   DefWindowProc
               |  |
               |  |---[dll]------   SendMessage
               |  |
               |  |---[dll]------   SetWindowLong
               |  |
               |  |---[dll]------   GetMenuItemCount
               |  |
               |  |---[dll]------   ModifyMenu
               |  |
               |  |---[dll]------   LocalSize_DRAWITEMSTRUCT
               |  |
               |  |---[dll]------   GetMenuString
               |  |
               |  |---[dll]------   SetMenuItemInfo
               |  |
               |  |---[dll]------   GetMenuItemInfo
               |  |
               |  |---[dll]------   CopyMemory_MEASUREITEMSTRUCT1
               |  |
               |  |---[dll]------   CopyMemory_MEASUREITEMSTRUCT2
               |  |
               |  |---[dll]------   LocalSize_MEASUREITEMSTRUCT
               |  |
               |  |---[dll]------   DrawText
               |  |
               |  |---[dll]------   GetStockObject
               |  |
               |  |---[dll]------   SetBkColor
               |  |
               |  |---[dll]------   SetBkMode
               |  |
               |  |---[dll]------   SelectObject
               |  |
               |  |---[dll]------   SetTextColor
               |  |
               |  |---[dll]------   CreateCompatibleDC
               |  |
               |  |---[dll]------   DeleteDC

      


    易语言无边框窗口加菜单源码


    调用的DLL命令:


    .DLL命令 GetMenu, 整数型, "user32", "GetMenu", , 取得窗口中一个菜单的句柄 依附于指定窗口的一个菜单的句柄(如果有菜单);否则返回零
        .参数 hwnd, 整数型, , 窗口句柄。对于vb,这应该是一个窗体句柄。注意可能不是子窗口的句柄;


    .DLL命令 SetMenuInfo, 整数型, "user32.dll", "SetMenuInfo", ,  
        .参数 hmenu, 整数型
        .参数 LPMENUINFO, MENUINFO


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


    .DLL命令 CreateSolidBrush, 整数型, "gdi32", "CreateSolidBrush", , 用纯色创建一个刷子 如执行成功,返回新刷子的一个句柄;否则返回零
        .参数 crColor, 整数型, , 数字的RGB彩色;  


    .DLL命令 GetMenuInfo, 整数型, "user32.dll", "GetMenuInfo", ,  
        .参数 hmenu, 整数型
        .参数 LPMENUINFO, MENUINFO


    .DLL命令 CallWindowProc, 整数型, "user32", "CallWindowProcA", , 将消息传答窗口函数 
        .参数 lpPrevWndFunc, 整数型
        .参数 hwnd, 整数型
        .参数 msg, 整数型
        .参数 wParam, 整数型
        .参数 lParam, 整数型


    .DLL命令 CopyMemory_DRAWITEMSTRUCT, , "kernel32", "RtlMoveMemory", ,  
        .参数 pDest, DRAWITEMSTRUCT
        .参数 pSrc, 整数型
        .参数 ByteLen, 整数型


    .DLL命令 DefWindowProc, 整数型, "user32", "DefWindowProcA", , 调用缺省窗口过程 
        .参数 hwnd, 整数型
        .参数 wMsg, 整数型
        .参数 wParam, 整数型
        .参数 lParam, 整数型


    .DLL命令 SendMessage, 整数型, "user32", "SendMessageA", , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ;    SendMessageByString是该函数的“类型security”声明形式 由具体的消息决定
        .参数 hwnd, 整数型, , 要接收消息的那个窗口的句柄
        .参数 wMsg, 整数型, , 消息的标识符
        .参数 wParam, 整数型, , 具体取决于消息
        .参数 lParam, 整数型, , 具体取决于消息;


    .DLL命令 SetWindowLong, 整数型, "user32", "SetWindowLongA", , 在窗口结构中为指定的窗口设置信息 指定数据的前一个值
        .参数 hwnd, 整数型
        .参数 nIndex, 整数型
        .参数 dwNewLong, 整数型


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


    .DLL命令 ModifyMenu, 整数型, "user32", "ModifyMenuA", , 改变菜单条目。在vb里这个函数做出的许多改变都会有效的执行,但不能由vb菜单对象反映出来 非零表示成功,零表示失败。会设置GetLastError
        .参数 hMenu, 整数型
        .参数 nPosition, 整数型
        .参数 wFlags, 整数型
        .参数 wIDNewItem, 整数型
        .参数 lpString, 整数型


    .DLL命令 LocalSize_DRAWITEMSTRUCT, 整数型, "kernel32", "LocalSize", , 返回本地内存块大小 
        .参数 hMem, DRAWITEMSTRUCT


    .DLL命令 GetMenuString, 整数型, , "GetMenuStringA"
        .参数 hMenu, 整数型
        .参数 uIDItem, 整数型
        .参数 lpString, 文本型
        .参数 nMaxCount, 整数型
        .参数 uFlag, 整数型


    .DLL命令 SetMenuItemInfo, 整数型, "user32", "SetMenuItemInfoA", , 为一个菜单条目设置指定的信息,具体信息保存于MENUITEMINFO结构中 TRUE(非零)表示成功,否则返回零。会设置GetLastError
        .参数 hMenu, 整数型
        .参数 un, 整数型
        .参数 bool, 逻辑型
        .参数 lpcMenuItemInfo, MENUITEMINFO


    .DLL命令 GetMenuItemInfo, 逻辑型, , "GetMenuItemInfoA"
        .参数 hMenu, 整数型
        .参数 uItem, 整数型
        .参数 fByPosition, 逻辑型
        .参数 lpmii, MENUITEMINFO, 传址


    .DLL命令 CopyMemory_MEASUREITEMSTRUCT1, , "kernel32", "RtlMoveMemory", ,  
        .参数 pDest, MEASUREITEMSTRUCT
        .参数 pSrc, 整数型
        .参数 ByteLen, 整数型


    .DLL命令 CopyMemory_MEASUREITEMSTRUCT2, , "kernel32", "RtlMoveMemory", ,  
        .参数 pDest, 整数型
        .参数 pSrc, MEASUREITEMSTRUCT
        .参数 ByteLen, 整数型


    .DLL命令 LocalSize_MEASUREITEMSTRUCT, 整数型, "kernel32", "LocalSize", , 返回本地内存块大小 
        .参数 hMem, MEASUREITEMSTRUCT


    .DLL命令 DrawText, 整数型, "user32", "DrawTextA", , 将文本描绘到指定的矩形中 描绘文字的高度
        .参数 hdc, 整数型, , 欲在其中显示文字的一个设备场景的句柄
        .参数 lpStr, 文本型, , 欲描绘的文本字串
        .参数 nCount, 整数型, , 欲描绘的字符数量。如果要描绘整个字串(直到空中止符),则可将这个参数设为-1
        .参数 lpRect, RECT, , RECT,指定用于绘图的一个格式化矩形(采用逻辑坐标)
        .参数 wFormat, 整数型, , 一个标志位数组,决定了以何种形式执行绘图。参考下面总结的常数类型列表标志常数说明DT_BOTTOM必须同时指定DT_SINGLE。指示文本对齐格式化矩形的底边DT_CALCRECT象下面这样计算格式化矩形:多行绘图时矩形的底边根据需要进行延展,以便容下所有文字;单行绘图时,延展矩形的右侧。不描绘文字。由lpRect参数指定的矩形会载入计算出来的值DT_CENTER文本垂直居中DT_EXPANDTABS描绘文字的时候,对制表站进行扩展。默认的制表站间距是8个字符。但是,可用DT_TABSTOP标志改变这项设定DT_EXTERNALLEADING计算文本行高度的时候,使用当前字体的外部间距属性(the external leading attribute)DT_LEFT文本左对齐DT_NOCLIP描绘文字时不剪切到指定的矩形DT_NOPREFIX通常,函数认为 & 字符表示应为下一个字符加上下划线。该标志禁止这种行为DT_RIGHT文本右对齐DT_SINGLELINE只画单行DT_TABSTOP指定新的制表站间距,采用这个整数的高8位DT_TOP必须同时指定DT_SINGLE。指示文本对齐格式化矩形的顶部DT_VCENTER必须同时指定DT_SINGLE。指示文本对齐格式化矩形的中部DT_WORDBREAK进行自动换行。如用SetTextAlign函数设置了TA_UPDATECP标志,这里的设置则无效;


    .DLL命令 GetStockObject, 整数型, "gdi32", "GetStockObject", , 取得一个固有对象(Stock)。这是可由任何应用程序使用的windows标准对象之一 指向指定对象的一个句柄。零表示出错
        .参数 nIndex, 整数型, , 下述表格中定义的任何常数之一BLACK_BRUSH黑色刷子DKGRAY_BRUSH黑灰色刷子GRAY_BRUSH灰色刷子HOLLOW_BRUSH凹刷子LTGRAY_BRUSH浅灰色刷子NULL_BRUSH空刷子WHITE_BRUSH白色刷子BLACK_PEN黑色画笔NULL_PEN空画笔WHITE_PEN白色画笔ANSI_FIXED_FONT采用windows(ANSI)字符集的等宽字体ANSI_VAR_FONT采用windows(ANSI)字符集的不等宽字体DEVICE_DEFAULT_FONT设备使用的默认字体(NT)DEFAULT_GUI_FONT用户界面的默认字体,包括菜单和对话框字体(Windows 95)OEM_FIXED_FONTOEM字符集的固有字体SYSTEM_FONT屏幕系统字体。这是用于菜单、对话框等等的默认不等宽字体SYSTEM_FIXED_FONT屏幕系统字体。这是用于菜单、对话框等等的默认等宽字体(在windows 3.0之前使用)DEFAULT_PALETTE默认调色板;  


    .DLL命令 SetBkColor, 整数型, "gdi32", "SetBkColor", , 为指定的设备场景设置背景颜色。背景颜色用于填充阴影刷子、虚线画笔以及字符(如背景模式为OPAQUE)中的空隙。也在位图颜色转换期间使用。参考SetBkMode 前一个背景色,CLR_INVALID表示出错
        .参数 hdc, 整数型
        .参数 crColor, 整数型


    .DLL命令 SetBkMode, 整数型, "gdi32", "SetBkMode", , 指定阴影刷子、虚线画笔以及字符中的空隙的填充方式 前一个背景模式的值
        .参数 hdc, 整数型
        .参数 nBkMode, 整数型


    .DLL命令 SelectObject, 整数型, "gdi32", "SelectObject", , 每个设备场景都可能有选入其中的图形对象。其中包括位图、刷子、字体、画笔以及区域等等。一次选入设备场景的只能有一个对象。选定的对象会在设备场景的绘图操作中使用。例如,当前选定的画笔决定了在设备场景中描绘的线段颜色及样式 与以前选入设备场景的相同hObject类型的一个对象的句柄,零表示出错。如选定的对象是一个区域(Region),结果就是下列常数之一:SIMPLEREGION, ;    COMPLEXREGION 或 NULLREGION 对区域进行描述, GDI_ERROR 表示出错
        .参数 hdc, 整数型, , 一个设备场景的句柄
        .参数 hObject, 整数型, , 一个画笔、位图、刷子、字体或区域的句柄;  


    .DLL命令 SetTextColor, 整数型, "gdi32", "SetTextColor", , 设置当前文本颜色。这种颜色也称为“前景色” 文本色的前一个RGB颜色设定。CLR_INVALID表示失败。会设置GetLastError
        .参数 hdc, 整数型
        .参数 crColor, 整数型


    .DLL命令 CreateCompatibleDC, 整数型, "gdi32", "CreateCompatibleDC", , 创建一个与特定设备场景一致的内存设备场景 新设备场景句柄,若出错则为零
        .参数 hdc, 整数型, , 设备场景句柄。新的设备场景将与它一致。也可能为0以创建一个与屏幕一致的设备场景;  


    .DLL命令 DeleteDC, 整数型, "gdi32", "DeleteDC", , 删除专用设备场景或信息场景,释放所有相关窗口资源。不要将它用于GetDC函数取回的设备场景 执行成功则为非零,失败则为零
        .参数 hdc, 整数型, , 将要删除的设备场景  在vb里使用不要将它用于由vb hdc属性获取的设备场景句柄;

    相关软件

    下载说明

    本站目前主要提供易语言源码、模块、支持库等下载大部分源码均为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...