易语言编辑框加背景图片代码实例
DLL代码
.版本 2 .DLL命令 CreatePatternBrush, 整数型, "gdi32", "CreatePatternBrush" .参数 hBitmap, 整数型 .DLL命令 GetWindowLong, 整数型, "user32", "GetWindowLongA" .参数 hwnd, 整数型 .参数 nIndex, 整数型 .DLL命令 SetWindowLong, 整数型, "user32", "SetWindowLongA" .参数 hwnd, 整数型 .参数 nIndex, 整数型 .参数 dwNewLong, 整数型 .DLL命令 CallWindowProcA, 整数型, , "CallWindowProcA" .参数 lproc, 整数型 .参数 hwnd, 整数型 .参数 umsg, 整数型 .参数 wparam, 整数型 .参数 lparam, 整数型 .DLL命令 DeleteObject, 整数型, "gdi32", "DeleteObject" .参数 hObject, 整数型 .DLL命令 SetBkMode, 整数型, "gdi32", "SetBkMode" .参数 hdc, 整数型 .参数 nBkMode, 整数型
常量表
.版本 2 .常量 GWL_WNDPROC, "-4" .常量 WM_CTLCOLOREDIT, "307" .常量 TRANSPARENT, "1"
编辑框加背景代码
.版本 2 .程序集 窗口程序集1 .程序集变量 lpOldProc, 整数型 .程序集变量 hBlackBrush, 整数型 .子程序 __启动窗口_创建完毕 .局部变量 图片, 对象 图片框1.可视 = 假 图片.创建图片对象 (图片框1.图片) hBlackBrush = CreatePatternBrush (图片.读数值属性 (“handle”, )) lpOldProc = GetWindowLong (取窗口句柄 (), #GWL_WNDPROC) SetWindowLong (取窗口句柄 (), #GWL_WNDPROC, 到数值 (&WndProc)) .子程序 WndProc, 整数型 .参数 hwnd, 整数型 .参数 umsg, 整数型 .参数 wparam, 整数型 .参数 lparam, 整数型 .如果真 (umsg = #WM_CTLCOLOREDIT) SetBkMode (wparam, #TRANSPARENT) 返回 (hBlackBrush) .如果真结束 返回 (CallWindowProcA (lpOldProc, hwnd, umsg, wparam, lparam)) .子程序 __启动窗口_可否被关闭, 逻辑型 .如果真 (hBlackBrush > 0) DeleteObject (hBlackBrush) .如果真结束 .子程序 _编辑框1_内容被改变 编辑框1.重画 () .子程序 _编辑框1_滚轮被滚动, 逻辑型 .参数 滚动距离, 整数型 .参数 功能键状态, 整数型 编辑框1.重画 ()
运行结果:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
赞 (0)