Uxtheme Viewer 自绘系统组件必备

Uxtheme Viewer 自绘系统组件必备

.版本 2 .支持库 EXMLParser .程序集 窗口程序集1 .子程序 A2W, 字节集 .参数 Ansi, 文本型, , 欲转换的Ansi文本 .局部变量 Unicode, 字节集 .局部变量 len len = API_MultiByteToWideChar (936, 0, Ansi, -1, { }, 0) Unicode = 取空白字节集 (len × 2) API_MultiByteToWideChar (936, 0, Ansi, -1, Unicode, len × 2) 返回 (Unicode) .子程序 __启动窗口_创建完毕 .局部变量 i, 整数型 子程序指针 = API_SetWindowLong (画板1.取窗口句柄 (), #GWL_WNDPROC, &处理) 滑块条1.最小位置 = 10 滑块条1.最大位置 = 画板1.宽度 - 20 滑块条2.最小位置 = 10 滑块条2.最大位置 = 画板1.高度 - 20 滑块条1.位置 = 画板1.宽度 - 40 滑块条2.位置 = 画板1.高度 - 40 XML.导入 (#VIEW) 组合框1.清空 () .计次循环首 (XML.取子节点个数 (“view”, ), i) 组合框1.加入项目 (XML.取节点值文本 (“view/@” + 到文本 (i) + “/class”, ), ) .计次循环尾 () 组合框1.现行选中项 = 0 _组合框1_列表项被选择 () .子程序 处理, 整数型, , 不要修改该子程序的返回值及参数的类型! .参数 句柄, 整数型 .参数 消息, 整数型 .参数 参数1, 整数型 .参数 参数2, 整数型 .局部变量 ps, PAINTSTRUCT .判断开始 (消息 = #WM_PAINT) API_BeginPaint (句柄, ps) draw () API_EndPaint (句柄, ps) 返回 (0) .默认 .判断结束 返回 (API_CallWindowProc (子程序指针, 句柄, 消息, 参数1, 参数2)) .子程序 _组合框1_列表项被选择 .局部变量 i, 整数型 组合框2.清空 () .变量循环首 (2, XML.取子节点个数 (“view/@” + 到文本 (组合框1.现行选中项 + 1), ), 1, i) 组合框2.加入项目 (XML.取节点值文本 (“view/@” + 到文本 (组合框1.现行选中项 + 1) + “/@” + 到文本 (i) + “/name”, ), 到整数 (XML.取节点值文本 (“view/@” + 到文本 (组合框1.现行选中项 + 1) + “/@” + 到文本 (i) + “/value”, ))) .变量循环尾 () 组合框2.现行选中项 = 0 _组合框2_列表项被选择 () .子程序 _组合框2_列表项被选择 .局部变量 i, 整数型 组合框3.清空 () 组合框3.加入项目 (“<NULL>”, 0) .变量循环首 (3, XML.取子节点个数 (“view/@” + 到文本 (组合框1.现行选中项 + 1) + “/@” + 到文本 (组合框2.现行选中项 + 2), ), 1, i) 组合框3.加入项目 (XML.取节点值文本 (“view/@” + 到文本 (组合框1.现行选中项 + 1) + “/@” + 到文本 (组合框2.现行选中项 + 2) + “/@” + 到文本 (i) + “/name”, ), 到整数 (XML.取节点值文本 (“view/@” + 到文本 (组合框1.现行选中项 + 1) + “/@” + 到文本 (组合框2.现行选中项 + 2) + “/@” + 到文本 (i) + “/value”, ))) .变量循环尾 () 组合框3.现行选中项 = 0 _组合框3_列表项被选择 () .子程序 draw .局部变量 htheme, 整数型 .局部变量 hdc, 整数型 .局部变量 rect, RECT .局部变量 class, 文本型 .局部变量 part, 整数型 .局部变量 states, 整数型 画板1.清除 (, , , ) hdc = API_GetDC (画板1.取窗口句柄 ()) API_GetClientRect (画板1.取窗口句柄 (), rect) rect.左边 = rect.左边 + (画板1.宽度 - 滑块条1.位置) ÷ 2 rect.右边 = rect.右边 - (画板1.宽度 - 滑块条1.位置) ÷ 2 rect.顶边 = rect.顶边 + (画板1.高度 - 滑块条2.位置) ÷ 2 rect.底边 = rect.底边 - (画板1.高度 - 滑块条2.位置) ÷ 2 class = 组合框1.取项目文本 (组合框1.现行选中项) part = 组合框2.取项目数值 (组合框2.现行选中项) .如果真 (组合框3.取项目数 () > 0) states = 组合框3.取项目数值 (组合框3.现行选中项) .如果真结束 htheme = API_OpenThemeData (取窗口句柄 (), A2W (class)) API_DrawThemeBackground (htheme, hdc, part, states, rect, 0) .如果真 (选择框1.选中) API_DrawThemeText (htheme, hdc, part, states, A2W (编辑框1.内容), 取文本长度 (编辑框1.内容), 位或 (#DT_CENTER, #DT_VCENTER, #DT_SINGLELINE), 0, rect) .如果真结束 .如果真 (选择框2.选中) API_DrawThemeEdge (htheme, hdc, part, states, rect, 组合框4.取项目数值 (组合框4.现行选中项), 组合框5.取项目数值 (组合框5.现行选中项), 0) .如果真结束 API_CloseThemeData (htheme) API_ReleaseDC (画板1.取窗口句柄 (), hdc) .子程序 _组合框3_列表项被选择 API_InvalidateRect (画板1.取窗口句柄 (), 0, 1) .子程序 __启动窗口_将被销毁 XML.释放 () .子程序 _选择框1_被单击 API_InvalidateRect (画板1.取窗口句柄 (), 0, 1) .子程序 _滑块条1_位置被改变 API_InvalidateRect (画板1.取窗口句柄 (), 0, 1) .子程序 _滑块条2_位置被改变 API_InvalidateRect (画板1.取窗口句柄 (), 0, 1) .子程序 _组合框4_列表项被选择 API_InvalidateRect (画板1.取窗口句柄 (), 0, 1) .子程序 _选择框2_被单击 API_InvalidateRect (画板1.取窗口句柄 (), 0, 1) .子程序 _组合框5_列表项被选择 API_InvalidateRect (画板1.取窗口句柄 (), 0, 1) .子程序 _编辑框1_内容被改变 API_InvalidateRect (画板1.取窗口句柄 (), 0, 1)
相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注