<强>饼干分析源码强>
需要加载模块Ex_DirectUI
3.0<强> DLL命令表强>
第2版。本 . dll命令GetBitmapBits,整数型,“gdi32”、“GetBitmapBits” 。参数hBitmap,整数型 。参数dwCount,整数型 。参数lpBits,整数型
<强>透明编辑框强>
第2版。本 。程序集透明编辑框_EX,编辑框_EX 。程序集变量img,整数型 。程序集变量类_左边,整数型 。程序集变量类_顶边,整数型 ,子程序_初始化,,当基于本类的对象被创建后,此方法会被自动调用 ,子程序_销毁,,,当基于本类的对象被销毁前,此方法会被自动调用 ,子程序_OnObjProc,整数型,公开,虚函数,组件消息。返回值:0放行1拦截。在_ObjProc之前被调用。 。参数hWnd,整数型 。参数hObj,整数型 。参数uMsg,整数型 。参数按钮,整数型 。参数lParam,整数型 ,判断开始(uMsg=#事件_创建) img=图像_复制部分(取交货指针(窗口_取指针(类_取成员值(取指针(),2))),左边()+ 10 +类_左边,顶边()+ 9 +类_顶边,宽度(),高度()) ,判断(uMsg=#事件_销毁) 图像_销毁(img) 。默认 ,判断结束 返回(0) ,子程序_计算客户区_编辑框,,公开 。参数客户区矩形,RectF,参考可空,修改本参数将影响文本所在矩形 OFFSETRCF(6 5 0, -10年,客户区矩形) ,子程序_绘制背景_编辑框,,公开 Exs_PaintStruct。参数实验 。局部变量m_文本格式,整数型 。局部变量m_字体指针,整数型 。局部变量Yw,整数型 图形_平滑模式(exp.mGraphics #平滑模式_最佳质量) 图形_绘图(exp.mGraphics img) ,子程序取交货指针,整数型,,句柄:窗口指针或组件句柄,返回PNG 。参数句柄,整数型 。参数窗口只打印背景,逻辑型,可空 。局部变量hBitmap,整数型 。局部变量Rc矩形 。局部变量长度,整数型 。局部变量位图,整数型 。局部变量BitData BITMAPDATA 。局部变量形象,字节集 。如果(组件_取成员值(句柄,4)=句柄)“exdui和obj类的成员4都是窗口指针,相同则说明参数是窗口指针 。如果(窗口只打印背景) hBitmap=组件_取成员值(句柄,32)“背景位图缓存 否,则 hBitmap=组件_取成员值(句柄,28)“窗口位图 。如果结束 GetWindowRect(组件_取成员值(句柄,2),Rc) 否,则 hBitmap=组件_取成员值(句柄,44) CopyMemory(指针到整数(取指针_通用型(Rc)),类_取成员指针(句柄,53),4×4)“53-56 。如果结束 长度=GetBitmapBits (hBitmap, 0, 0)“获取长度 位图=图像_创建自像素格式(Rc。对- - - Rc。离开了,Rc。底- Rc.top) 图像_锁定数据(位图,MakeRC (0, 0, Rc。对- - - Rc。离开了,Rc。底- Rc.top),位或(#图像锁定模式_读,#图像锁定模式_写),#像素格式_32bppPARGB, BitData) GetBitmapBits (hBitmap、长度、BitData.Scan0)“获取拷贝位图数据 图像_解锁数据(位图,BitData) 返回(位图) ,子程序设置位置,公开 。参数左边,整数型 。参数顶边,整数型 类_左边=左边 类_顶边=顶边
<强>对比代码强>
第2版。本 。支持库exui 。程序集程序集1 。程序集变量Ex_hDll,整数型 Ex_DirectUI。程序集变量主窗口 。程序集变量Mainhwnd,整数型 。程序集变量MSLabel,标签_Ex 。程序集变量MSGroupBox,分组框_Ex,,“4” 。程序集变量MSEditBox,透明编辑框_EX,,“4” 。程序集变量GroupBoxHandle,整数型,,“4” 。程序集变量MSPictureFrame,图片框_Ex,,“4” 。程序集变量MSGraphicButton,图形按钮_Ex ,子程序_启动子程序,整数型,,本子程序在程序启动后最先执行 Ex_hDll=_LoadLibrary(取指针_字节集型(# Dll_ExduiDll), 0, 0) Mainhwnd=窗口_创建(“饼干分析”,,,980年,620年) 全局_初始化(Ex_hDll真,#主题包_Exdui主题包,,{},“微软雅黑”,13日,#文本渲染模式_ClearType文本和暗示技术,,,) 主窗口。挂接窗口(Mainhwnd, #主题包_Thunder主题包,,#主程序皮肤,#白色,#标题栏_标题+ #标题栏_关闭按钮+ #标题栏_最小化按钮,255 #底图方式_九宫排列,,真,,,) 主窗口。置客户区偏移(10、10 - 1,-10,-11) GroupBoxHandle [1]=MSGroupBox [1]。创建(Mainhwnd, 32岁,36岁,386年,296年,“Cookie1”,,,, RGB2ARGB(#白色,200),,,,,,,) MSEditBox [1]。设置位置(32、36) MSEditBox [1]。创建(GroupBoxHandle[1], 14日,24日,358年,258年,RGB2ARGB(#白色,200),,,,,真) MSPictureFrame [1]。创建(GroupBoxHandle[1], 14日,24日,358年,258年,#编辑框1) MSPictureFrame [1]。透明穿透(真) GroupBoxHandle [2]=MSGroupBox [2]。创建(Mainhwnd 532, 36岁,386年,296年,“Cookie2”,,,, RGB2ARGB(#白色,200),,,,,,,) MSPictureFrame [2]。创建(GroupBoxHandle[2], 14日,24日,358年,258年,#编辑框1) MSPictureFrame [2]。透明穿透(真) MSEditBox [2]。设置位置(532年,36) MSEditBox [2]。创建(GroupBoxHandle[2], 14日,24日,358年,258年,RGB2ARGB(#白色,200),,,,,真) GroupBoxHandle [3]=MSGroupBox [3]。创建(Mainhwnd, 32, 386, 386, 188,“相同参数”,,,,RGB2ARGB(#白色,200),,,,,,,) MSPictureFrame [3]。创建(GroupBoxHandle[3], 14日,24日,358年,160年,#编辑框1) MSPictureFrame [3]。透明穿透(真) MSEditBox [3]。设置位置(386) MSEditBox [3]。创建(GroupBoxHandle[3], 14日,24日,358年,160年,RGB2ARGB(#白色,200),,,,,真) GroupBoxHandle [4]=MSGroupBox [4]。创建(Mainhwnd, 532, 386, 386, 188,“不同参数”,,,,RGB2ARGB(#白色,200),,,,,,,) MSPictureFrame [4]。创建(GroupBoxHandle[4], 14日,24日,358年,160年,#编辑框1) MSPictureFrame [4]。透明穿透(真) MSEditBox [4]。设置位置(532、386) MSEditBox [4]。创建(GroupBoxHandle[4], 14日,24日,358年,160年,RGB2ARGB(#白色,200),,,,,真) MSGraphicButton。创建(Mainhwnd、438、332、84、84) MSGraphicButton。置状态图片(#按钮1 #按钮2 #按钮3,) MSGraphicButton。透明穿透(真) MSGraphicButton。事件_被单击(和开始对比) 主窗口。置进入特效(#特效类型_窗口_渐隐渐显,,,,#缓动类型_弹性缓动) 主窗口。置退出特效(#特效类型_窗口_弹性伸缩,,,,#缓动类型_弹性缓动) 窗口_消息循环(Mainhwnd) _FreeLibrary (Ex_hDll) 返回(0) ,子程序开始对比 。参数句柄,整数型 X。参数,整数型 Y。参数,整数型 。参数状态,整数型 。局部变量cookie1数组,文本型,,“0” 。局部变量cookie2数组,文本型,,“0” 我。局部变量,整数型 。局部变量n,整数型 。局部变量相同参数,逻辑型 。局部变量相同文本,文本型 。局部变量不同文本,文本型 cookie1数组=分割文本(MSEditBox [1]。内容()”;”,) cookie2数组=分割文本(MSEditBox [2]。内容()”;”,) ,判断开始(取数组成员数(cookie1数组)≥取数组成员数(cookie2数组)) 计。次循环首(取数组成员数(cookie1数组),我) 相同参数=假 计。次循环首(取数组成员数(cookie2数组),n) 。如果真(cookie1数组[我]=cookie2数组[n]) 相同参数=真 跳出循环() 。如果真结束 计。次循环尾() 。如果(相同参数) 。如果(相同文本=" ") 相同文本=cookie1数组[我] 否,则 相同文本=相同文本+ #换行符+ cookie1数组[我] 。如果结束 否,则 。如果(不同文本=" ") 不同文本=cookie1数组[我] 否,则 不同文本=不同文本+ #换行符+ cookie1数组[我] 。如果结束 。如果结束 计。次循环尾() ,判断(取数组成员数(cookie1数组)≤取数组成员数(cookie2数组)) 计。次循环首(取数组成员数(cookie2数组),我) 相同参数=假 计。次循环首(取数组成员数(cookie1数组),n) 。如果真(cookie2数组[我]=cookie1数组[n]) 相同参数=真 跳出循环() 。如果真结束 计。次循环尾() 。如果(相同参数) 。如果(相同文本=" ") null null null null null null null null null null null null null null null null null null null null null null null易语言制作一款唯美的饼干分析工具的代码