代码拉取完成,页面将自动刷新
// 1. 给窗口添加背景色
// 2. 给按钮加上三种状态下的图片
// 纯代码的要记好多api, 还是建议用设计器来做
package main
import (
_ "embed"
"fmt"
app "gitee.com/go_888/xcgui/app"
imagex "gitee.com/go_888/xcgui/imagex"
widget "gitee.com/go_888/xcgui/widget"
window "gitee.com/go_888/xcgui/window"
xc "gitee.com/go_888/xcgui/xc"
xcc "gitee.com/go_888/xcgui/xcc"
)
var (
//go:embed res/button_min.png
img1 []byte
//go:embed res/button_close.png
img2 []byte
)
func main() {
// 1.初始化UI库
a := app.X创建(true)
a.X启用DPI(true)
a.X启用自动DPI(true)
// 2.创建窗口
w := window.X创建窗口(0, 0, 465, 300, "", 0, xcc.X窗口样式_简单|xcc.X窗口样式_标题|xcc.X窗口样式_拖动窗口)
// 设置窗口透明类型
w.X设置透明类型(xcc.X窗口透明标识_阴影窗口)
// 设置窗口阴影
w.X设置阴影信息(8, 255, 10, false, 0)
// 给整个窗口添加背景色
w.X添加背景填充(xcc.X窗口状态_整个窗口, xc.RGBA颜色(51, 57, 60, 254))
// 创建最小化按钮
btnMin := widget.X创建按钮(397, 8, 30, 30, "", w.X句柄)
btnMin.X设置类型EX(xcc.X对象扩展类型_最小化按钮)
// 创建关闭按钮
btnClose := widget.X创建按钮(427, 8, 30, 30, "", w.X句柄)
btnClose.X设置类型EX(xcc.X对象扩展类型_关闭按钮)
// 给按钮加上三种状态下的图片
setBtnImg(btnMin, img1)
setBtnImg(btnClose, img2)
// 3.显示窗口
w.X显示方式(xcc.SW_SHOW)
// 4.运行程序
a.X运行()
// 5.释放UI库
a.X退出()
}
// 给按钮加上三态图片
func setBtnImg(btn *widget.X结构_按钮, file []byte) {
for i := int32(0); i < 3; i++ {
x := i * 31
// 图片_加载从内存, 指定区域位置及大小
img := imagex.X创建并按内存且指定区域(file, x, 0, 30, 30)
if img.X句柄 == 0 {
fmt.Println("Error: hImg=", img.X句柄)
continue
}
// 启用图片透明色
img.X启用透明色(true)
// 添加背景图片
switch i {
case 0:
btn.X添加背景图片(xcc.X组合状态_按钮_鼠标离开, img.X句柄)
case 1:
btn.X添加背景图片(xcc.X组合状态_按钮_鼠标停留, img.X句柄)
case 2:
btn.X添加背景图片(xcc.X组合状态_按钮_鼠标按下, img.X句柄)
}
// 启用按钮背景透明
btn.X启用背景透明(true)
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。