易语言无边框窗口加菜单源码
系统结构:设置菜单栏背景,设置菜单栏自绘,菜单窗口_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属性获取的设备场景句柄;
易语言VB2易V0009源码,转换VB函数,删除函数编辑框空行,删除编辑框空行,转换VB函数_2,转换VB常数,转换VB自定义数据类型,转换VB子程序,转换VB全局变量,转换VB局部变量,子程序1,转换VB函数2...
易语言-正文提取源码,正文提取,特殊字符过滤,取汉字个数_正则法,标准清除HTML标签,纯净清除HTML标签...
易语言SendInput源码,SendInput,模拟键盘_,模拟鼠标移动_,模拟鼠标单击_,SendUnicode,SendAnsi,SendKeyS,取变量地址_字节集型_,指针到短整数_,字节集到短整数_,AnsiToUnicode,模拟键盘动作_,模拟鼠标动作_,VkKeyScanW,GetKeyState,RtlInitAnsiString,RtlFreeU...
易语言SDK窗口源码,SDK窗口,WndProc,子程序_菜单初始化,HIWORD,LOWORD,子程序_处理命令消息,GetModuleHandle,LoadIcon,LoadCursor,GetStockObject,RegisterClass,MessageBox,CreateWindowEx,ShowWindow,UpdateWindow,GetMessage,TranslateMessage,DispatchMes...
易语言API创建暂停进程进行DLL注入源码,API创建暂停进程进行DLL注入,GetCmdLine,命令行缓冲区_,取文本内容长度_,CopyMemory,SN_CreateProcessA,SN_InjectDllA...
易语言api创建多层目录源码,api创建多层目录,api_创建多层目录...
易语言高斯算法源码,高斯算法...
易语言高斯赛德尔迭代法演示源码,高斯赛德尔迭代法演示,DBLX...
易语言雪花屏保源码,雪花屏保,Rnd,InitP,GetContrast,GetDC,GetPixel,SetPixel,ReleaseDC,InvalidateRect...