易语言自绘编辑框、绘图画布附ECallBack模块

易语言 2020-08-13 18:47:28

易语言自绘编辑框、绘图画布附ECallBack模块

移动 (100, 100, 取屏幕宽度 () - 200, 取屏幕高度 () - 200)
绘图画布 = 创建缓冲画布 (宽度, 高度)
ZUI编辑框.创建组件 (取窗口句柄 (), 0, 0, 宽度, 高度, “微软雅黑”, 20, , 220, #白色)
ZUI编辑框.置绘图DC (绘图画布.设备场景)
ZUI编辑框.置文本 (“呵呵,我是自绘编辑框,可以CTRL+C,CTRL+V,CTRL+X,复制、粘贴、剪切、输入文字、字母、数字、划词,自动换行,适应屏幕” + #换行符 + #换行符 + “换行符也是认的”)

.常量 ODA_DRAWENTIRE, "1", , 当整个控件都需要被绘制时DRAWITEMSTRUCT -> itemAction
.常量 ODA_FOCUS, "4", , 如果控件需要在获得或失去焦点时被绘制,则设置该值
.常量 ODA_SELECT, "2", , 如果控件需要在选中状态改变时被绘制,则设置该值
.常量 ODS_CHECKED, "8", , 如果菜单项将被选中,则可设置该值 DRAWITEMSTRUCT -> itemState
.常量 ODS_COMBOBOXEDIT, "4096", , 在自绘组合框控件中只绘制选择区域
.常量 ODS_DEFAULT, "32", , 默认值
.常量 ODS_DISABLED, "4", , 如果控件将被禁止,则设置该值
.常量 ODS_FOCUS, "16", , 如果控件需要输入焦点,则设置该值
.常量 ODS_GRAYED, "2", , 如果控件需要被灰色显示,则设置该值
.常量 WM_PAINT, "15", , 要求一个窗口重画自己
.常量 WM_DRAWITEM, "43", , 当button,combobox,listbox,menu的可视外观改变时发送此消息给这些空件的所有者
.常量 WM_NCLBUTTONDOWN, "161", , 当光标在一个窗口的非客户区同时按下鼠标左键时提交此消息
.常量 WM_CREATE, "1", , 应用程序创建一个窗口
.常量 WM_ERASEBKGND, "20", , 当窗口背景必须被擦除时(例在窗口改变大小时)

' AlphaBlend (类_组件画布.设备场景, 0, 0, 类_组件宽度 + 滚动条宽度, 类_组件高度, 类_绘图画布.设备场景, 类_组件左边, 类_组件顶边, 类_组件宽度 + 滚动条宽度, 类_组件高度, 取字节集数据 (透明属性, #整数型, ))
GdipGraphicsClear (类_组件画布.内存图形, #白色)
.如果真 (类_组件背景色 ≠ -1)
GdipCreateSolidFill (RGB到ARGB (类_组件背景色), 绘图画刷2)
GdipFillRectangle (类_组件画布.内存图形, 绘图画刷2, 0, 0, 类_组件宽度, 类_组件高度)
GdipDeleteBrush (绘图画刷2)